2010-11-27 61 views
1

我有gcc 4.4.5和最新的boost庫。我想專門爲它的正則表達式庫使用boost。我嘗試使用內置的C++正則表達式函數,但顯然它們還沒有完全正常工作。我在線學習了一個教程來設置netbeans。如何在Ubuntu上使用Netbeans 6.9配置升壓

我添加了/ usr/include/boost到包含目錄的C++代碼。然後,我將-lboost_regex-mt添加到項目配置中的build> linker> additional options區域。但我仍然得到這個錯誤:

/usr/bin/ld: cannot find -lboost_regex-mt 
collect2: ld returned 1 exit status 

這是NetBeans的創建命令這就是:

g++ -lboost_regex-mt -o dist/Debug/GNU-Linux-x86/examples01 build/Debug/GNU-Linux-x86/main.o 

我也試圖與-lboost正則表達式和-lboost正則表達式,ST和做的同樣的錯誤,只有mt改變。 我也嘗試通過終端使用正則表達式對象運行文件,但仍然得到相同的錯誤。任何人都可以解決這個問題嗎?或者至少將我指向正確的方向?

回答

3

您必須設置項目的「其他庫目錄」,以便知道要爲您的庫鏈接的其他目錄。

下面是截圖,從NetBeans的網站在這裏:http://netbeans.org/community/magazine/html/03/c++/

alt text

編輯:注意,這會影響到編譯器生成的命令有哪些指定其他位置尋找庫文件-L選項。

+0

將編譯命令更改爲g ++ -lboost_regex-mt -o dist/Debug/GNU-Linux-x86/examples01 build/Debug/GNU-Linux-x86/main.o -L/usr/include/boost仍然生成同樣的錯誤。我做得對嗎?我在額外的庫目錄區域中添加了/ usr/include/boost – 2010-11-27 19:39:56

0

您需要告訴g ++在哪裏可以找到這些庫。這樣做的一個方法是將boost庫的位置附加到您的LD_LIBRARY_PATH。請注意,這與頭文件(include目錄中的.hpp文件)不同,您說您已包含在項目中。

+0

我該怎麼做?這將是一個gcc問題是否正確? Netbeans配置正確,只是需要更改編譯器的設置? – 2010-11-27 19:33:23