我想(用了幾天的時間)來構建一個由C++代碼生成的,帶有python的boost/python。我是來自德國的學生,主要與Java有關(我之前用C++寫過一些基本的OpenGL和gimp過濾器)。因此,請提前諒解我英語不好或C++初學者的錯誤。我的意思是,與C++相比,使用Java進行編程確實更加舒適。但足夠的衝突。boost 1.53蟒蛇致命錯誤LNK1104 boost_python-vc110-mt-gd-1_53.lib
錯誤:
LINK : fatal error LNK1104: File "boost_python-vc110-mt-gd-1_53.lib" could not be openend
我的預設:
- 使用MS的Visual Studio 2012(11.0)
- 使用boost_1_53_0
- 使用python2.7(聽說3.3可能會導致一些問題)
我做了什麼:
安裝了python並將其添加到PATH。然後創建在VS一個新的空項目和一個類文件「Test.cpp的」與以下內容升壓教程頁面上描述:
char const* greet()
{
return "hello world";
}
#include <boost/python.hpp>
BOOST_PYTHON_MODULE(Test)
{
using namespace boost::python
def("greet", greet);
}
隨後而來的新的部分對我來說,在VS項目屬性:
配置屬性>常規> Configurationtype>動態庫(.dll)
C/C++>常規>加成Includedirectories> C:[..] \ boost_1_53_0
接頭>常規>附加庫目錄> C: [..] boost_1_53_0 \ stage \ lib
從錯誤我假設我做了鏈接器或包括錯誤。我還將鏈接器>常規>附加庫目錄更改爲boost_1_53_0 \ libs,因爲我不確定,但發生了同樣的錯誤。是的,我正確地包含了python。我也不確定是否必須在python旁邊添加其他內容到Linker> Input for boost。
然後我用bjam構建boost,除了msvc-11.0之外沒有任何選項,以確保擁有我需要的所有東西(雖然我讀過boost/python不需要額外的構建)並仍然出現相同的錯誤。有人能幫我嗎?我很想有一個一步一步的描述做什麼。我真的很失望。
btw:我和這個人在Linker error LNK1104 with 'libboost_filesystem-vc100-mt-s-1_49.lib'之前幾天有同樣的錯誤,於是我停止了對它的工作,當我重新開始時,我得到了全新的錯誤(我無法告訴你這是怎麼發生的)。
檢查磁盤上如果有問題的庫(和libboost_filesystem-VC100-MT-S -1_49.lib')甚至生成。 – SChepurin 2013-04-08 14:57:27
不,它不是。但我不知道我該如何得到它?我嘗試用bjam靜態和動態構建boost。沒有改變任何東西 – 2013-04-08 15:58:00
簡單的方法是在Internet上搜索已建好的boost庫。與http://code.google.com/p/mataes/source/browse/Miranda/boost_1_49_0/lib/?r=1959一樣。下載並鏈接到該項目。 – SChepurin 2013-04-08 17:07:44