应用程序启动时boost_thread分段错误
boost_thread segmentation fault on application start up
我正在开发一个带有OpenCV 2.4.6.1版本的图像处理应用程序,该应用程序使用Eclipse Indigo在Ubuntu 12.04 LTS上。我使用英特尔 ICC 编译器版本 14。
我需要使用在 Boost 中分发的线程库。因此,我已成功使用英特尔编译器编译了 Boost 1.54。
若要使用以下代码段进行编译,请将 -lboost_thread switch 添加到链接器的标志列表中:
boost::this_thread::sleep_for(oneFrameProcessDuration -(boost::chrono::high_resolution_clock::now() - startTime));
成功编译整个应用程序后。当我开始申请时,
boost::exception_ptr boost::exception_detail::get_static_exception_object<boost::exception_detail::bad_alloc_>()
引发异常。即使我无法到达主要功能的第一行。
可能是什么问题?
问候。
我今天遇到了同样的问题。由于这个问题似乎是谷歌上的热门话题并且没有答案,因此这里是:
简单的解决方案:
如果您只需要线程,而不需要锁定和计时等所有其他内容,则可以包含#include <boost/thread/thread.hpp>
而不是#include <boost/thread.hpp>
。这样与-lboost_thread
链接就足够了,也许还需要-lboost_system
,无法测试它,因为我代码的其他部分也需要它。
更复杂的:
如果您需要更多,您可能需要链接到更多 boost 库,例如 -lboost_chrono
和 -lboost_date_time
。有关更多详细信息,请参阅 http://www.boost.org/doc/libs/1_59_0/doc/html/thread/build.html。
相关文章:
- 分段故障(堆芯转储)矢量
- 数组的指针从不分段故障
- 在某些循环内使用vector.push_back时出现分段错误
- 为什么在运行时没有向我们提供有关分段错误的更多信息?
- 在线编译器中的分段C++没有打印消息
- 如何解决gcc编译器优化导致的centos双编译器设置中的分段错误
- 当我的阵列太大时出现分段错误
- Windows 10-使用gtkmm-3.0库和g++[包括再现]的分段故障
- 分段错误当我试图运行程序时出错
- 在c++中初始化矩阵时出现分段错误(核心转储)
- 尝试使用集合函数时出现分段错误
- 在std::thread中,joinable()然后join()线程安全吗
- 我无法缩小此分段错误的原因
- g++的分段错误(在NaN上使用to_string两次时)
- 我是如何在这段代码中出现分段错误的
- 创建结构的数组时遇到分段错误
- 在c++中键入向量中的所有值后,得到分段错误(核心转储)
- <Windows>为什么 std::thread::native_handle 返回类型为"long long unsigned int"的值,而不是 void*(又名 HANDLE)?
- 在thread.join期间出现分段错误
- std::thread::id 中的分段错误::运算符==