2012-03-04 77 views
0

我在構建一個簡單的C++程序時測試出boost庫中的正則表達式時遇到了問題。我遇到的問題發生在鏈接階段,我不知道自己解決錯誤的程度。在Arch Linux中使用C++ Boost正則表達式庫

在使用正則表達式的.cpp程序中,我使用了下面的include行。

#include <boost/regex.hpp> 

我不知道夠不夠找出我應該用什麼命令生成使用G ++程序。我嘗試使用下面的命令行(及其變體)來構建程序。

g++ -I/usr/include/regex -L/usr/lib -llibboost_regex main.cpp -o regex_test 

,可能是相關的其他信息:

Operating system: Arch linux 
g++ version: 4.6.2 20120120 (prerelease) 

任何幫助,將不勝感激。

+0

鏈接應該.cpp文件後上市,如果我沒有記錯的話,還可以,你應該張貼的錯誤。 – Horus 2012-03-04 04:19:15

回答

5

假設你已經安裝了boostboost-libs包升壓,

  1. <boost/regex.hpp>/usr/include/boost/regex.hpp存在。您不需要使用任何-I標誌,因爲/usr/include應該默認包含在內。
  2. 您不應該需要-L標誌,因爲/usr/lib也應該在鏈接時默認包含。
  3. 當使用-l標誌鏈接庫libfoo.so時,應刪除前導「lib」部分。

命令行因此應該是:

g++ main.cpp -o regex_test -lboost_regex 
+0

謝謝,我現在感覺很傻:) – martega 2012-03-04 10:53:24