2012-03-04 17 views
0

私は、正規表現をブーストライブラリからテストする簡単なC++プログラムを構築するのに問題があります。私が抱えている問題はリンク段階で発生しており、私自身でエラーを修正するのに十分なことは分かりません。アーチLinuxでのC++ Boost regexライブラリの使用

正規表現を使用する.cppプログラムでは、以下のインクルード行を使用しました。

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

答えて

5

あなたは<boost/regex.hpp>/usr/include/boost/regex.hppに存在する必要がboostboost-libsパッケージとブースト、

  1. ヘッダを設置したと仮定します。 /usr/includeがデフォルトで含まれるべきであるので、-Iフラグを使用する必要はありません。
  2. -Lフラグは、リンク時にデフォルトで/usr/libが含まれている必要があるため、必要ありません。
  3. -lフラグを使用してライブラリlibfoo.soにリンクする場合は、先頭の「lib」部分を削除する必要があります。

コマンドラインは、したがって、次のようになります。私は間違っていない場合

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

ありがとう、私は今馬鹿だと感じる:) – martega

関連する問題