1
早上好!Boost.Regex鏈接錯誤LUbuntu 14.04 g ++ 4.8.2
我在C++ 11中有正則表達式的問題。 我的Ubuntu 14.04輕和這個版本的編譯器:
g++ (Ubuntu 4.8.2-19ubuntu1) 4.8.2
Copyright (C) 2013 Free Software Foundation, Inc.
我使用這三個命令安裝升壓今天。
sudo apt-get install libboost-all-dev
sudo apt-get install aptitude
aptitude search boost
當我編譯這個簡單程序:使用此命令
#include <iostream>
#include <string>
#include <boost/regex.hpp>
using namespace boost;
using namespace std;
int main()
{
string text;
regex pattern("\\w* to \\w*");
return 0;
}
:
g++ main.cpp
編譯回報:
/tmp/ccOdFz7f.o: In function `boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::assign(char const*, char const*, unsigned int)':
main.cpp:(.text._ZN5boost11basic_regexIcNS_12regex_traitsIcNS_16cpp_regex_traitsIcEEEEE6assignEPKcS7_j[_ZN5boost11basic_regexIcNS_12regex_traitsIcNS_16cpp_regex_traitsIcEEEEE6assignEPKcS7_j]+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: error: ld returned 1 exit status
我讀到這個話題:linker error in boost regex 和使用這個命令:
g++ -I /usr/lib/boost/include -L /usr/lib/boost/lib main.cpp -lboost_regex-mt
但是編譯器回報:
/usr/bin/ld: cannot find -lboost_regex-mt
collect2: error: ld returned 1 exit status
我也沒有/ usr/lib目錄/升壓目錄!
我應該在這個程序中更改什麼或在Ubuntu中使用正則表達式進行升級?