最近在做一個項目,開發環境用的是QT+C++。項目中有一些算法使用python實現需要混合編譯並發布。
准備工作:
1.安裝python
2.安裝QT
一:編譯調試運行
python代碼:
# -*- coding: cp936 -*- #定義hello函數,這個函數的功能是輸出“hello world!” def hello(): print("hello world!")
QT/C++調用
1. pro文件增加python目錄
2. cpp文件調用
3.將相關的文件拷貝只運行目錄
二:打包發布
1.將python相關文件打包至一個文件夾,這里以python_3.8_64文件夾為例:
1.1打開python安裝目錄如下:
1.2 復制文件夾內的所有.dll文件,DLLs,include,Lib,libs 文件夾到第一步新建的python_3.8_64文件夾內,復制好后如下圖:
2. 將python_3.8_64復制到運行文件夾:
3. 修改程序使用自定義的python解釋器:
4. 發布QT可執行程序使用windeployqt.
5.將相關文件拷貝至發布文件夾:
三:進階使用
python腳本中導入了其他包情況下,需要將相應的包拷貝復制至運行目錄:
3.1 代碼修改:
搜索目錄增加當前目錄
3.2 相關的包放置到運行目錄:
參考:
https://blog.csdn.net/weixin_31616803/article/details/114976358?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-0&spm=1001.2101.3001.4242