私はBoost Getting Startedの記事に従っています。 私はそれをBjamとともにインストールしました。私はインクルードファイルとライブラリファイル(.a、.so)を見ることができました。LinuxでBoostライブラリをインストールしてビルドする
/tmp/ccJFVVid.o: In function `boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::assign(char const*, char const*, unsigned int)':
test_boost2.cc:(.text._ZN5boost11basic_regexIcNS_12regex_traitsIcNS_16cpp_regex_traitsIcEEEEE6assignEPKcS7_j[boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::assign(char const*, char const*, unsigned int)]+0x22): undefined reference to `boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::do_assign(char const*, char const*, unsigned int)'
collect2: ld returned 1 exit status
それは私のWindowsマシンの下で大丈夫働いていた:私は、このコマンド
g++ -I./boost/include -L./boost/lib -lboost_regex-gcc43-mt -static -o test_boost2 test_boost2.cc
を使用してコードの上に構築する場合
#include <boost/regex.hpp>
#include <iostream>
#include <string>
int main()
{
std::string line;
boost::regex pat("^Subject: (Re: |Aw:)*(.*)");
}
は、私はこのエラーを取得します。
どういうところが間違っていますか?
gccのバージョン4.3.2(Debianの4.3.2-1.1)
のLinux XXXXXXXX 2.6.26-1-686#1 SMP金3月13日午後06時08分45秒UTC 2009のi686 GNU/Linuxの
それは動作します!しかし、Boost(1.39)の最新バージョンをインストールするにはどうすればよいですか?私が本当に使いたいのはBoost.Asioライブラリです。 :) –
lennyを使用している場合は、 'libboost1.35-dev'を使用できます。squeezeを使用している場合は、 'libboost1.38-dev'があります。また、asioのスタンドアロン版「libasio-dev」もあります。しかし、レニーのバージョンはかなり古いです。 –
リンクされたライブラリは、コンパイルの最後になければなりませんか?したがって、それはでしょう: g ++ boost.cpp -o boost -lboost_regex – user289882