Попытка pybind11 в окне: неопределенная ссылка на __imp_PyGILState_CheckPython

Программы на Python
Anonymous
Попытка pybind11 в окне: неопределенная ссылка на __imp_PyGILState_Check

Сообщение Anonymous »

Я пытаюсь заставить pybind11 работать в Windows. Я установил pybind11 с помощью conda-forge, затем выполнил простейший код:

Код: Выделить всё

#include "pybind11/pybind11.h"

namespace py = pybind11;
скомпилируйте его с помощью:

Код: Выделить всё

g++ -std=c++17 -O2 -mavx -IC:/Users/beng_/anaconda3/Lib/site-packages/pybind11/include -IC:/Users/beng_/anaconda3/include/pybind11_global/ -IC:/Users/beng_/anaconda3/include/ - pb_test.cpp -o pb_test
Путь -I позволяет избежать более ранней проблемы, когда Python.h не найден. Но теперь я получаю кучу ошибок, связанных с неопределенной ссылкой на ошибки типа '_imp_Py*'. Слишком много, чтобы сосчитать. Я предполагаю, что мне не хватает компоновщика, после некоторых поисков предложенная подсказка, похоже, касается папки /anaconda3/libs со всеми dll. Если бы я попробовал это -lc:/Users/beng/anaconda3/libs/python311 или python3, ничего из этого не сработало. Вместо этого он будет жаловаться:

Код: Выделить всё

cannot find -lC:/Users/beng_/anaconda3/libs/python311
collect2.exe: error: ld returned 1 exit status
Но в этой папке находятся и python3.dll, и python311.dll.
Я проверил сообщение вроде, но пока ничего не помогло:
Ошибка Pybind11: неопределенная ссылка на Py_GetVersion
Пожалуйста, помогите. Я серьезно застрял. Не уверен, что мои подозрения об ошибке связывания верны.

Подробнее здесь: https://stackoverflow.com/questions/788 ... tate-check

Вернуться в «Python»