我试图让Boost在Ubuntu上使用英特尔的编译器icpc。我的管理员安装了this webpage的软件包。我现在正在尝试运行basic example from the Boost's webpage,编译如下:
icpc -I /usr/include/boost example.cpp -L/usr/lib/ -lboost_regex,
我得到了这种形式的一堆编译器错误:
/usr/include/boost/smart_ptr/detail/shared_count.hpp(233): error: copy constructor for class "boost::detail::shared_count" may not have a parameter of type "boost::detail::shared_count"
shared_count(shared_count && r): pi_(r.pi_) // nothrow
/usr/include/boost/smart_ptr/detail/shared_count.hpp(233): error: expected a ")"
shared_count(shared_count && r): pi_(r.pi_) // nothrow
/usr/include/boost/smart_ptr/detail/shared_count.hpp(233): error: identifier "r" is undefined
shared_count(shared_count && r): pi_(r.pi_) // nothrow
/usr/include/boost/smart_ptr/detail/shared_count.hpp(340): error: copy constructor for class "boost::detail::weak_count" may not have a parameter of type "boost::detail::weak_count"
weak_count(weak_count && r): pi_(r.pi_) // nothrow
等。令人惊讶的是(或者没有),这个东西可以用g ++工作,只需写下来:
g++ example.cpp -o example.out -lboost_regex
如果你能帮助我,我真的很感激。干杯!
答案 0 :(得分:1)
您发布的链接指向boost 1.40
,而您遇到的问题似乎是to be fixed since 1.47。 (请注意current boost version is 1.53。)