Включите Anaconda python 3.6 в приложение Qt C++ без версии Anaconda Qt

Я хочу включить Anaconda Python 3.6 в свое приложение Qt C++. Причина в том, что я хочу иметь возможность включать нейронную сеть в свое приложение на C++, написанное на Python.

Я попытался включить Python следующим образом, который нашел онлайн:

INCLUDEPATH += /home/[username]/anaconda3/include/python3.6m

LIBS += -L/home/[username]/anaconda3/lib/ -lpython3.6m

Он находит заголовок Python.h, но ссылка на библиотеки Python приводит к тому, что Qt Creator (очевидно) использует библиотеки Qt Anaconda, а не те, которые я скачал и установил в своей домашней папке.

Это проблематично по двум причинам:

  • Моя программа требует Qt 5.9.1 и не компилируется с Qt 5.6 (версия Anaconda)

  • Даже если он скомпилирован с Qt 5.6, внезапно появляются ошибки отсутствующих библиотек, см. ниже:

Ошибки в Qt Creator при попытке включить Python 3.6

Есть ли способ включить Python из Anaconda, но сказать Qt Creator использовать мою пользовательскую версию Qt?


person Florian Blume    schedule 23.01.2018    source источник
comment
Вы столкнетесь с многочисленными ошибками времени выполнения, метаинформация которых имеет разный размер в разных версиях Qt. Если вы используете Linux, используйте пакеты, предоставляемые дистрибутивом для Python и Qt, и все работает как часы. Если вы хотите самостоятельно скомпилировать как Qt, так и Python, это также сработает. Выполнено оба   -  person Jens Munk    schedule 13.06.2018
comment
Хорошо, спасибо. Моя другая идея заключалась в том, чтобы скрыть qmake Anaconda, создав символическую ссылку на фактическую версию Qt. Но еще не пробовал.   -  person Florian Blume    schedule 14.06.2018


Ответы (1)


Невольно у меня снова возникла та же проблема с другим приложением, и поэтому я опубликовал новый вопрос, потому что думал, что это другая проблема.

Тем временем я нашел решение и опубликовал ответ здесь.

person Florian Blume    schedule 09.07.2018