我遇到了類似的錯誤,同時嘗試使用Boost.Python的從C++訪問蟒蛇Python包。讓我首先說我對C++ Boost庫的個人印象是,它們是一個帶有不完整文檔的好主意。 boost.org上有大量的文檔,但似乎忽略了一些關鍵細節,作者認爲這些細節過於微不足道,無法提及。但是,讓我擺脫我的肥皂盒...
我希望[希望最終]能夠理解如何讓Boost.Python在我的系統上工作的持續動力是,有這麼多偉大的Python科學軟件包[ SymPy,Numpy,SciPy,matplotlib等]包含在Anaconda發行版中,如果從使用Qt Creator構建的C++項目訪問它們真的很棒。 Boost文檔似乎表明Boost.Python應該爲我做到這一點。可惜的是,這些文件似乎離開了關鍵細節,作者似乎認爲過於瑣碎,打擾提...
無論如何,最初,我表明python.h找不到生成錯誤。我被加入這兩個聲明,我的Qt Creator的項目的.pro文件,分不清哪裏升壓安裝了包括文件和QMAKE擺脫這種地方蟒蛇安裝在我的系統上的文件python.h:
INCLUDEPATH += C:\boost_1_55_0
INCLUDEPATH += C:\Anaconda\include
之後,我得到一個LNK1104錯誤,指出找不到'python27.lib'。通過將這兩個語句添加到我的.pro文件中,我擺脫了這一點。第一個告訴qmake在哪裏可以找到Anaconda的python27.lib文件。第二個告訴qmake在哪裏找到提升。python binary:
LIBS += "C:/Anaconda/libs"
LIBS += "C:/boost_1_55_0/stage/lib/libboost_python-vc110-mt-gd-1_55.lib"
但是,就目前爲止我已經得到了。我現在收到一個錯誤,指出它無法打開我尚未找到修復程序的文件'C:/Anaconda/libs.obj'。當然,錯誤是由該文件不存在引起的。面臨的挑戰是要發現爲什麼要尋找它並在哪裏找到它。
「C++運行Python模塊」是什麼意思?要做到這一點,你必須[嵌入Python解釋器](http://docs.python.org/2/extending/embedding.html)。只是做'#包括'不會那樣做。 –
abarnert
2013-04-24 19:59:04
同時,您是否閱讀過[在Windows上構建C和C++擴展](http://docs.python.org/2/extending/windows.html)和[鏈接要求](http://docs.python.org/ 2/extends/embedding.html#linking-requirements)(用於嵌入)?你是否打算靜態或動態地嵌入你的解釋器?你在哪裏得到你想要嵌入的翻譯? – abarnert 2013-04-24 20:02:31
從Python源代碼構建Python庫可能更容易。 – Aya 2013-04-24 20:03:55