0

我正在尝试让 Boost 在 Ubuntu 上与英特尔的编译器 icpc 一起工作。我的管理员从此网页安装了该软件包。我现在正在尝试从 Boost 的网页上运行一个基本示例,编译如下:

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

如果您能帮我解决这个问题,我将不胜感激。干杯!

4

1 回答 1

1

您发布的链接指向boost 1.40,而您遇到的问题似乎自 1.47 以来已修复。(注意当前的 boost 版本是 1.53。)

于 2013-04-20T18:06:51.157 回答