如何编译Boost多线程程序?

2023-12-13

我安装了boost库。没有多线程,一切都很顺利。 我如何编译这个测试程序?

#include <boost/thread/thread.hpp>
#include <iostream>
using namespace std; 

void hello_world() {
  cout << "I'm new thread!" << endl;
}

int main(int argc, char* argv[]) {     
  boost::thread my_thread(&hello_world);
  my_thread.join();

  return 0;
}

I used: g++ -I/home/user/boost/include testc.cpp

但 g++ 告诉我:

/tmp/ccQtBeSf.o: In function `main':
testc.cpp:(.text+0x5a): undefined reference to `boost::thread::join()'
/tmp/ccQtBeSf.o: In function `__static_initialization_and_destruction_0(int, int)':
testc.cpp:(.text+0xd5): undefined reference to `boost::system::generic_category()'
testc.cpp:(.text+0xdf): undefined reference to `boost::system::generic_category()'
testc.cpp:(.text+0xe9): undefined reference to `boost::system::system_category()'
/tmp/ccQtBeSf.o: In function `boost::thread_exception::thread_exception(int, char const*)':
testc.cpp:(.text._ZN5boost16thread_exceptionC2EiPKc[_ZN5boost16thread_exceptionC5EiPKc]+0x7): undefined reference to `boost::system::system_category()'
/tmp/ccQtBeSf.o: In function `boost::detail::thread_data_base::thread_data_base()':
testc.cpp:(.text._ZN5boost6detail16thread_data_baseC2Ev[_ZN5boost6detail16thread_data_baseC5Ev]+0x1a): undefined reference to `vtable for boost::detail::thread_data_base'
/tmp/ccQtBeSf.o: In function `boost::thread::~thread()':
testc.cpp:(.text._ZN5boost6threadD2Ev[_ZN5boost6threadD5Ev]+0xe): undefined reference to `boost::thread::detach()'
/tmp/ccQtBeSf.o: In function `boost::thread::thread<void (*)()>(void (*)(), boost::disable_if<boost::is_convertible<void (*&)(), boost::detail::thread_move_t<void (*)()> >, boost::thread::dummy*>::type)':
testc.cpp:(.text._ZN5boost6threadC2IPFvvEEET_NS_10disable_ifINS_14is_convertibleIRS4_NS_6detail13thread_move_tIS4_EEEEPNS0_5dummyEE4typeE[_ZN5boost6threadC5IPFvvEEET_NS_10disable_ifINS_14is_convertibleIRS4_NS_6detail13thread_move_tIS4_EEEEPNS0_5dummyEE4typeE]+0x23): undefined reference to `boost::thread::start_thread()'
/tmp/ccQtBeSf.o: In function `boost::detail::thread_data<void (*)()>::~thread_data()':
testc.cpp:(.text._ZN5boost6detail11thread_dataIPFvvEED2Ev[_ZN5boost6detail11thread_dataIPFvvEED5Ev]+0x16): undefined reference to `boost::detail::thread_data_base::~thread_data_base()'
/tmp/ccQtBeSf.o:(.rodata._ZTIN5boost6detail11thread_dataIPFvvEEE[typeinfo for boost::detail::thread_data<void (*)()>]+0x8): undefined reference to `typeinfo for boost::detail::thread_data_base'
collect2: ld returned 1 exit status

您还需要链接 Boost 线程库:

g++ -I/home/user/boost/include testc.cpp -L/home/user/boost/lib -lboost_thread

(假设图书馆位于/home/user/boost/lib.)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何编译Boost多线程程序? 的相关文章

  • C#.Net 邮件将进入垃圾邮件文件夹

    我正在从 ASP net Web 应用程序发送电子邮件 邮件发送成功 没有失败 但大多数都进入了垃圾邮件文件夹 请帮助我克服垃圾邮件过滤器 我的发送邮件代码 public void SendMail string FromAddress s
  • 在 C++ 代码中转换字符串

    我正在学习 C 并开发一个项目来练习 但现在我想在代码中转换一个变量 字符串 就像这样 用户有一个包含 C 代码的文件 但我希望我的程序读取该文件并插入将其写入代码中 如下所示 include
  • Android NDK 代码中的 SIGILL

    我在市场上有一个 NDK 应用程序 并获得了有关以下内容的本机崩溃报告 SIGILL信号 我使用 Google Breakpad 生成本机崩溃报告 以下是详细信息 我的应用程序是为armeabi v7a with霓虹灯支持 它在 NVIDI
  • MVC 5 中具有 ASP.NET Identity 的 Autofac 不会验证 OWIN 管道中的安全标记

    我在 MVC 5 中设置了 AutoFac 来与 ASP NET Identity 一起使用 表面上一切似乎都工作正常 即用户可以创建帐户并登录 但后来我发现 当安全标记更改时 用户不会注销 通过在 AspNetUsers 表中进行暴力破解
  • 用于在标头更改时重新编译的简单 C 项目的示例 makefile

    有谁有完整的 makefile 可以执行以下操作 如果 HEADER 文件发生更改 则重建项目 cpp 文件在 makefile 中列出 头文件未在 makefile 中列出 头文件允许与 cpp 文件具有不同的名称 部分cpp文件没有头文
  • C# 根据当前日期传递日期时间值

    我正在尝试根据 sql server 中的两个日期获取记录 Select from table where CreatedDate between StartDate and EndDate我通过了5 12 2010 and 5 12 20
  • 什么是竞争条件?

    编写多线程应用程序时 最常见的问题之一是竞争条件 我向社区提出的问题是 竞赛条件是什么 你如何检测它们 你如何处理它们 最后 如何防止它们发生 当两个或多个线程可以访问共享数据并且它们试图同时更改它时 就会出现竞争条件 由于线程调度算法可以
  • 我们可以通过指针来改变const定义的对象的值吗?

    include
  • 如何在多线程应用程序中安全地填充数据并 Refresh() DataGridView?

    我的应用程序有一个 DataGridView 对象和一个 MousePos 类型的列表 MousePos 是一个自定义类 它保存鼠标 X Y 坐标 类型为 Point 和该位置的运行计数 我有一个线程 System Timers Timer
  • ASP.NET Core 中间件与过滤器

    在阅读了 ASP NET Core 中间件之后 我对何时应该使用过滤器以及何时应该使用中间件感到困惑 因为它们似乎实现了相同的目标 什么时候应该使用中间件而不是过滤器 9频道有一个关于此的视频 ASP NET 怪物 91 中间件与过滤器 h
  • 当Model和ViewModel一模一样的时候怎么办?

    我想知道什么是最佳实践 我被告知要始终创建 ViewModel 并且永远不要使用核心模型类将数据传递到视图 这就说得通了 让我把事情分开 但什么是Model 和ViewModel一模一样 我应该重新创建另一个类还是只是使用它 我觉得我应该重
  • C++ 指针引用混淆

    struct leaf int data leaf l leaf r struct leaf p void tree findparent int n int found leaf parent 这是 BST 的一段代码 我想问一下 为什么
  • 如何编写一个接受 int 或 float 的 C 函数?

    我想用 C 语言创建一个扩展 Python 的函数 该函数可以接受 float 或 int 类型的输入 所以基本上 我想要f 5 and f 5 5 成为可接受的输入 我认为我不能使用if PyArg ParseTuple args i v
  • 如何高效计算连续数的数字积?

    我正在尝试计算数字序列中每个数字的数字乘积 例如 21 22 23 98 99 将会 2 4 6 72 81 为了降低复杂性 我只会考虑 连续的数字 http simple wikipedia org wiki Consecutive in
  • 任何人都可以清楚地告诉如何在不使用像 这样的预定义函数的情况下找到带有小数值或小数值的指数吗? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 例如 2 0 5 1 414 所以想要 我是 c 的新手 所以请解释简单的逻辑 如果不是复杂的逻辑也足够了 在数学中 从整数取幂到实数
  • Streamwriter 覆盖 txt 文件中的文本

    有没有什么方法可以重新打开流写入器而不创建新的写入对象 因为此时 当调用 WriteOdd 时 streamwriter 正在覆盖在它之前调用的 WriteEven public void WriteEven StreamWriter wr
  • 从后面的代码添加外部 css 文件

    我有一个 CSS 文件 例如 SomeStyle css 我是否可以将此样式表文档从其代码隐藏应用到 aspx 页面 您可以将文字控件添加到标头控件中 Page Header Controls Add new System Web UI L
  • ContentDialog Windows 10 Mobile XAML - 全屏 - 填充

    我在项目中放置了一个 ContentDialog 用于 Windows 10 上的登录弹出窗口 当我在移动设备上运行此项目时 ContentDialog 未全屏显示 并且该元素周围有最小的填充 在键盘上可见 例如在焦点元素文本框上 键盘和内
  • 如何为有时异步的操作创建和实现接口

    假设我有数百个类 它们使用 计算 方法实现公共接口 一些类将执行异步 例如读取文件 而实现相同接口的其他类将执行同步代码 例如将两个数字相加 为了维护和性能 对此进行编码的好方法是什么 到目前为止我读到的帖子总是建议将异步 等待方法冒泡给调
  • 嵌入式linux编写AT命令

    我在向 GSM 模块写入 AT 命令时遇到问题 当我使用 minicom b 115200 D dev ttySP0 term vt100 时它工作完美 但我不知道如何在 C 代码中做同样的事情 我没有收到任何错误 但模块对命令没有反应 有

随机推荐

  • 他们添加的 git 重命名冲突 - git 将重命名目录中的相同文件识别为新文件

    我已经重命名了一个目录并将其合并到我的主分支中 当合并另一个分支时 git 将重命名的目录中的相同文件识别为新文件 当合并到另一个分支时 我得到该目录中相同文件 由他们添加 的合并冲突 added by them theirDir same
  • 如何在每个测试的基础上更改模拟实现?

    我想通过扩展默认模拟的行为并在下一个测试执行时将其恢复到原始实现来更改每个测试基础上模拟依赖项的实现 更简单地说 这就是我想要实现的目标 模拟依赖 在单个测试中更改 扩展模拟实现 执行下一个测试时恢复到原始模拟 我目前正在使用 Jest v
  • 从源安装 R 包,无需更改 PATH (Windows)

    我正在尝试安装包rpart对于 Windows 7 上的 R 2 14 0 但我收到警告 包 rpart 不可用 对于 R 版本 2 14 0 所以我从包页面下载 tar gz 文件 我已经安装了 Rtools 但禁用了所有选项 包括更改
  • 什么是最好/非常好的元数据阅读器库?

    现在 我对从 MP3 文件 ID3 标签 读取数据特别感兴趣 但它能做的越多 例如图像中的 EXIF 就越好 而且不会影响 ID3 标签的读取能力 我有兴趣制作一个脚本来遍历我的媒体 现在是我的音乐文件 并确保文件名和目录路径与文件的元数据
  • F# 中什么是柯里化? [复制]

    这个问题已经存在了 可能的重复 函数式编程 柯里化 我正在这里阅读免费的 F Wikibook http en wikibooks org wiki F Sharp Programming 有一节解释了什么是偏函数 它说使用 F 你可以部分
  • Javascript 键码冲突:“右箭头”和“单引号”

    以下脚本执行其应该执行的操作 即它对 向左箭头 和 向右箭头 键做出反应 但是 由于键码冲突 它也会对单引号做出反应 它使得无法将该字符输入到输入字段中 对此可以采取什么措施吗
  • 使用Spring Batch在不同的数据源中写入

    对于一个项目 我需要处理一个表中的项目 并为 3 个不同的表生成 3 个不同的项目 所有 3 个项目都位于与第一个项目不同的第二个数据源中 该实施是通过 Oracle DB 使用 Spring Batch 完成的 我认为这question有
  • 矩阵和数组有什么区别?

    更广义的术语是什么 那么为什么 MATLAB 被命名为矩阵实验室呢 矩阵是表示维度空间线性变换的实用方法n到一个维度空间m以一个形式nxm标量值数组 以非常系统的方式进行线性代数运算也非常实用 可以在计算机上实现 例如如果矩阵A表示线性变换
  • 如何检测对 HTML5“下载”属性的支持?

    HTML5 中实现的新功能之一是download锚标记的属性 此属性的好处是 它为用户提供了下载在客户端应用程序中创建的内容的方法 例如图像 例如从画布转换而来 目前 对此功能的支持很差 所以我想知道如何检测浏览器中对此功能的支持 Use
  • Knockout JS“uniqueName”绑定 - 两个字段同名

    我正在使用 Knockout JS 创建一个编辑器 我正在使用 foreach 属性循环模型中的列表 tbody 我正在使用 JQuery 不显眼的验证 它需要一个 name 属性来验证 我想为两个字段分配相同的名称 以便能够输出验证消息
  • 在 C# 中执行 SQL 语句?

    大家好 我想执行我的 SQL 语句 但我遇到语法问题 有人可以帮助我理解我做错了什么吗 谢谢 阿什 public void AddToDatabase string WordArray int Good int Bad int Remove
  • 如何在 IIS 上使用 django 获取静态 CSS 文件?

    我在 IIS8 上安装了 django 现在我想将其配置为提供静态文件 我一直在关注本教程 我已将其添加到设置 py STATIC URL 静态 STATIC ROOT C my django project NZtracker stati
  • UIScrollView 内的 UIDatePicker 与页面

    我有一个包含 2 个页面的 UIScrollView 我可以在它们之间水平滚动 但是 在我的其中一个页面上 我有一个 UIDatePicker 并且滚动视图正在拦截垂直触摸事件 因此我无法再操作日期选择器 除非通过单击或点击 有没有办法告诉
  • 如何在 Mac 上使用 Visual Studio Code 将 Azure 发布设置文件导入到 Angular 项目?

    我已经使用 Visual Studio Code 构建了一个 Angular 应用程序 并被指示使用提供的 publishsettings 文件将其部署到 Azure 我实现这一目标的尝试失败了 除了 publishsettings 文件和
  • PHP - 无法访问外部 URL

    由于流量很大 我最近升级了网站的服务器 在新服务器上 PHP 的某些方面似乎被破坏了 我有一个非常具体的代码 但不起作用 但是 由于版权原因 我只能向您展示非机密的等效内容 这段代码有效绝对完美在升级之前 现在这里或那里的一些奇怪的设置阻止
  • 如何在 C# 中将图像覆盖或叠加到视频上

    我试图弄清楚如何在 Visual C 中将图像覆盖在 保存的文件 视频上 然后重新保存它 在过去的四个小时里 我一直在努力做到这一点 到处寻找 所以任何帮助将不胜感激 DirectShow NET 是 DirectShow 的包装器 Dir
  • UIViewController 自由格式尺寸问题

    我正在使用这个神奇的 PopupViewController https github com martinjuhasz MJPopupViewController 控制 我的应用程序使用故事板 我已经按照开发人员的指示创建了一个自定义 S
  • 提取双引号之间的字符串

    我正在阅读来自期刊或论文来源的响应 并且我将 html 响应作为字符串 如下所示 一些人认为 梦表达了 人格的深刻方面 Foulkes 184 尽管其他人不同意 我的目标只是从给定字符串中提取所有引号并将它们保存到一个列表中 我的方法是 m
  • 如何使用JAVA向COM PORT发送数据? [复制]

    这个问题在这里已经有答案了 可能的重复 Windows 上的 Java 串行通信 朋友们 我想在JAVA中连接并传输数据到COM PORT 虚拟的或原始的 这个问题已经被问过并回答过很多次了 使用Java从串口读取文件 Java读取串口 J
  • 如何编译Boost多线程程序?

    我安装了boost库 没有多线程 一切都很顺利 我如何编译这个测试程序 include