搜尋

首頁  >  問答  >  主體

python3.5 - c++呼叫python36

首先需要配置環境,建立win32控制台程序,然後對工程進行配置。
專案–>屬性–>vc++目錄–>包含目錄新增python安裝目錄中include目錄
專案–>屬性–>vc++目錄–>庫目錄新增python安裝目錄中libs目錄
連結器–>輸入–>附加相依性新增python36.lib

注意,如果C++工程採用debug版本,需要將 python安裝目錄裡libs資料夾下的python36.lib檔案複製,並將名字改成 python36_d.lib

#依照上述步驟執行程式碼,報錯,一大堆無法解析符號

##百度後找到解決方案:

修改 pyconfig.h

#ifdef _DEBUG 
# define Py_DEBUG 
#endif 

改为

#ifdef _DEBUG 
//# define Py_DEBUG 
#endif 
# ifdef _DEBUG 
# pragma comment(lib,"python27_d.lib") 
# else 
# pragma comment(lib,"python27.lib") 
# endif /* _DEBUG */ 

改为

# ifdef _DEBUG 
# pragma comment(lib,"python27.lib") 
# else 
# pragma comment(lib,"python27.lib") 
# endif /* _DEBUG */ 

修改object.h

#if defined(Py_DEBUG) && !defined(Py_TRACE_REFS) 
#define Py_TRACE_REFS 
#endif 

改为

#if defined(Py_DEBUG) && !defined(Py_TRACE_REFS) 
// #define Py_TRACE_REFS 
#endif

運行後依舊報相同的錯,我沒辦法了,求大神。

世界只因有你世界只因有你2779 天前597

全部回覆(1)我來回復

  • 伊谢尔伦

    伊谢尔伦2017-05-16 13:29:19

    還是用py2吧,py2可以用,py3的上述問問題我還是沒有解決

    回覆
    0
  • 取消回覆