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
運行后依舊報相同的錯,我沒辦法了,求大神。
問題解答
回答1:還是用py2吧,py2可以用,py3的上述問問題我還是沒有解決
相關文章:
