G++ 找不到 boost 库

2023-11-24

我不擅长命令行编译。我的问题是无法编译简单的项目,这取决于Boost。以下是我的尝试日志:

$ g++ -Wall test.cpp -o main
/tmp/ccCTvBYE.o: In function `__static_initialization_and_destruction_0(int, int)':
test.cpp:(.text+0x6b): undefined reference to `boost::system::generic_category()'
test.cpp:(.text+0x77): undefined reference to `boost::system::generic_category()'
test.cpp:(.text+0x83): undefined reference to `boost::system::system_category()'
/tmp/ccCTvBYE.o: In function `boost::asio::error::get_system_category()':
test.cpp:(.text._ZN5boost4asio5error19get_system_categoryEv[_ZN5boost4asio5error19get_system_categoryEv]+0x5): undefined reference to `boost::system::system_category()'
collect2: error: ld returned 1 exit status

So, there我找到了添加说明-lboost_system or -lboost_system-mt。我得到以下信息:

$ g++ -lboost_system -Wall test.cpp -o main                                                                                                                    
/usr/bin/ld: cannot find -lboost_system
collect2: error: ld returned 1 exit status

$ g++ -lboost_system-mt -Wall test.cpp -o main                                                                                                                 
/usr/bin/ld: cannot find -lboost_system-mt
collect2: error: ld returned 1 exit status

我试图找到boost_system图书馆。

$ /sbin/ldconfig -p | grep boost_system
    libboost_system.so.1.53.0 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libboost_system.so.1.53.0

然后我尝试了以下方法但没有成功

$ g++ -I"/home/third_party/boost/" -L"/usr/lib/x86_64-linux-gnu/" -lboost_system -Wall test.cpp -o main
/usr/bin/ld: cannot find -lboost_system
collect2: error: ld returned 1 exit status

现在我被困住了。如何形成编译命令?

Edit:

以下尝试也没有帮助。

ln -s /usr/lib/x86_64-linux-gnu/libboost_system.so.1.53.0 /usr/lib/x86_64-linux-gnu/libboost_system.so
ldconfig -n /usr/lib/x86_64-linux-gnu/

$ ll /usr/lib/x86_64-linux-gnu/ | grep boost_system
lrwxrwxrwx   1 root root       51 янв.  21 19:47 libboost_system.so -> /usr/lib/x86_64-linux-gnu/libboost_system.so.1.53.0
-rw-r--r--   1 root root    14536 окт.  13 07:14 libboost_system.so.1.53.0

$ g++ -I"/home/third_party/boost/" -L"/usr/lib/x86_64-linux-gnu/" -lboost_system -Wall -m64 boost_async.cpp -o main
/tmp/ccE20K2W.o: In function `__static_initialization_and_destruction_0(int, int)':
test.cpp:(.text+0x6b): undefined reference to `boost::system::generic_category()'
test.cpp:(.text+0x77): undefined reference to `boost::system::generic_category()'
test.cpp:(.text+0x83): undefined reference to `boost::system::system_category()'
/tmp/ccE20K2W.o: In function `boost::asio::error::get_system_category()':
test.cpp:(.text._ZN5boost4asio5error19get_system_categoryEv[_ZN5boost4asio5error19get_system_categoryEv]+0x5): undefined reference to `boost::system::system_category()'
collect2: error: ld returned 1 exit status

如果您放置链接器指令-lboost_system在命令行末尾,如下所示:

g++ -I"/home/third_party/boost/" -L"/usr/lib/x86_64-linux-gnu/" -Wall -m64 boost_async.cpp -o main -lboost_system

这应该可以解决问题。谢谢科林·D·贝内特 and 韦斯利·梅斯基塔为了澄清这个答案。

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

G++ 找不到 boost 库 的相关文章

  • 以相反的顺序迭代可变参数模板参数

    如果我手动反转传递给它的模板参数的顺序 以下代码将起作用 template
  • SL4 AutoCompleteBox 重复筛选结果问题

    我在 AutoCompleteBox 过滤方面遇到问题 它似乎记住了之前的过滤器 例如 我输入 A 它会返回 1 项 我删除 A 并输入 Z 这应该返回 1 项 问题是它返回 A 过滤器加上 Z 的结果 我删除 Z 并输入 S 这会带回 2
  • SetWindowsHookEx 函数返回 NULL

    我正在研究 DLL 注入 但收到错误如下 挂接进程失败 87 参数不正确 目标进程和dll都是64位的 注入代码为 BOOL HookInjection TCHAR target TCHAR dll name https msdn micr
  • 没有 Unicode 字节顺序标记。无法切换到 Unicode

    我正在使用 XSD 编写 XML 验证器 下面是我所做的 但是当验证器到达该线时while list Read 它给了我错误 没有 Unicode 字节顺序标记 无法切换到 Unicode 有人可以帮我解决吗 public class Va
  • WebClient读取错误页面的内容

    我有一个加载页面内容的应用程序 我使用 WebClient 类 即使服务器返回 404 500 等错误 我也需要检索内容 我需要这样的东西 WebClient wc new WebClient string pageContent try
  • 线程安全的 C++ 堆栈

    我是 C 新手 正在编写一个多线程应用程序 不同的编写者将对象推入堆栈 读者将它们从堆栈中拉出 或至少将指针推入对象 C 中是否有任何内置结构可以在不添加锁定代码等的情况下处理此问题 如果没有 那么 Boost 库呢 EDIT 你好 感谢您
  • c# 如何生成锦标赛括号 HTML 表

    所以我已经被这个问题困扰了三个星期 但我一生都无法弄清楚 我想做的是使用表格获得这种输出 演示 http www esl world net masters season6 hanover sc2 playoffs rankings htt
  • 数据损坏 C++ 和 Python 之间的管道

    我正在编写一些代码 从 Python 获取二进制数据 将其通过管道传输到 C 对数据进行一些处理 在本例中计算互信息度量 然后将结果通过管道传输回 Python 在测试时 我发现如果我发送的数据是一组尺寸小于 1500 X 1500 的 2
  • 不要声明只读可变引用类型 - 为什么不呢?

    我一直在阅读这个问题 https stackoverflow com questions 2274412 immutable readonly reference types fxcop violation do not declare r
  • 如何将字符串转换为 Indian Money 格式?

    我正在尝试将字符串转换为印度货币格式 例如如果输入为 1234567 则输出应为 12 34 567 我编写了以下代码 但它没有给出预期的输出 CultureInfo hindi new CultureInfo hi IN string t
  • 是什么原因导致 Linq 错误:此方法无法转换为存储表达式?

    我有一堆具有相同 select 语句的 Linq to Entity 方法 所以我想我会很聪明 并将其分离到它自己的方法中以减少冗余 但是当我尝试运行代码时 我得到了以下内容错误 该方法不能转化为 商店表达式 这是我创建的方法 public
  • asp.net c# 防止在从服务器端代码更改索引时触发 selectedindexchanged 事件

    我在同一个 aspx 页面上有两个下拉列表控件
  • 在 .NET 中记录 StackOverflowException

    最近 我的 NET 应用程序 asp net 网站 中出现了堆栈溢出异常 我之所以知道该异常是因为它出现在我的 EventLog 中 我知道 StackOverflow 异常无法被捕获或处理 但是有没有办法在它杀死您的应用程序之前记录它 我
  • 将一个 long 转换为两个 int 以进行重构

    我需要将一个参数作为两个 int 参数传递给 Telerik Report 因为它不能接受长参数 将 long 拆分为两个 int 并在不丢失数据的情况下重建它的最简单方法是什么 使用掩蔽和移位是最好的选择 根据文档 long 保证为 64
  • 为什么 C# 接口名称前面加上“I”

    这种命名约定背后的基本原理是什么 我没有看到任何好处 额外的前缀只会污染 API 我的想法与康拉德一致response https stackoverflow com a 222502 9898与此相关的question https sta
  • 如何使用 ASP.NET Web 表单从代码隐藏中访问更新面板内的文本框、标签

    我在更新面板中定义了一些控件 它们绑定到中继器控件 我需要根据匿名字段隐藏和显示用户名和国家 地区 但问题是我无法以编程方式访问更新面板中定义的控件 我如何访问这些控件 我也在网上查找但找不到很多参考资料 下面是来自aspx页面和 cs页面
  • c# 替代方案中 cfusion_encrypt 中填充的密钥是什么?

    我找到了从这里复制 C 中的 cfusion encrypt 函数的答案 ColdFusion cfusion encrypt 和 cfusion decrypt C 替代方案 https stackoverflow com questio
  • 程序退出后,TcpListener Socket 仍处于活动状态

    当我的程序退出时 我试图停止 TCP 侦听器 我不关心套接字或任何活动客户端套接字上当前活动的任何数据 套接字清理代码本质上是 try myServer Server Shutdown SocketShutdown Both catch E
  • 创建带有部分的选项卡式侧边栏 WPF

    我正在尝试创建一个带有部分的选项卡式侧边栏 如 WPF 中的以下内容 我考虑过几种方法 但是有没有更简单 更优雅的方法呢 方法一 列表框 Using a ListBox并将 SelectedItem 绑定到右侧内容控件所绑定的值 为了区分标
  • 如何从函数返回矩阵(二维数组)? (C)

    我创建了一个生成宾果板的函数 我想返回宾果板 正如我没想到的那样 它不起作用 这是函数 int generateBoard int board N M i j fillNum Boolean exists True initilize se

随机推荐

  • 如何告诉 Vite 从构建中排除目录中的文件子集?

    我使用创建了一个新的 Vue 应用程序npm create vue 在运行时 该应用程序会获取配置并从中读取字符串 该字符串表示要在应用程序内呈现的组件的名称 这些动态组件位于 可插入 目录中 src App vue pluggables
  • Cholesky 分解 ScaLapack 错误

    我收到以下错误 但我不知道为什么 1 1 On entry to PDPOTRF parameter number 2 had an illegal value 1 0 On entry to PDPOTRF parameter numbe
  • 具有依赖关系的静态库

    e exe与我的自定义静态库链接 c lib 它使用 Win32 API 中定义的w dll w dll位于C Windows System32 其导入库为w lib 位于 Windows SDK 目录中 壳w lib被列为额外的依赖 in
  • VS2022 17.2.0 Preview 2.0:访问项目等时出现T4模板序列化异常

    使用VS2022 17 2 0 Preview 2 0使用T4模板生成数据层 T4的一部分使用VS互操作 DTE来访问解决方案中的项目 下面的T4是一个测试 lt template debug false hostspecific true
  • 如何可视化 d3 力导向图布局中的节点组

    我正在寻找一种将组插入到我的力导向图形可视化中的方法 到目前为止我已经找到了三个相关的例子 Cola js这将需要添加另一个库 并可能需要改造我的代码以适应这个不同的库 这个街区 这很难解开 这张幻灯片来自 mbostock 的幻灯片 这不
  • Meteor:服务器端调试

    有谁知道调试服务器端代码的好方法 我尝试启用 Node js 调试 然后使用 node inspector 但它没有显示我的任何代码 我最终使用了 console log 但这非常低效 更新 我发现以下过程在我的 Linux 机器上有效 当
  • 从 Java 调用 python 模块

    我想使用 PythonInterpreter 从 Java 调用 python 模块中的函数 这是我的 Java 代码 PythonInterpreter interpreter new PythonInterpreter interpre
  • 默认情况下具有数学集合相等的集合类[关闭]

    Closed 这个问题需要多问focused 目前不接受答案 HashSet不将设置相等语义用于默认相等操作 var a new HashSet
  • 用于编辑页眉和页脚的 WORD 2010 宏

    我只有基本的 VBA 经验 之前的宏经验主要是使用 WORD 2003 录制宏用于获取 GoToFooter 或编辑页脚 菜单命令并允许后续编辑 在 WORD 2010 中 此命令 以及许多其他命令 不会 记录 到宏 但在记录模式下 我确实
  • 为什么这个径向渐变没有完成圆?

    我正在尝试使用径向渐变在作为单选按钮的圆形元素内创建边框 基本的 CSS 如下所示 我不明白为什么红色渐变不围绕圆圈的整个圆周 当白色色标接近 100 时 顶部 右侧 左侧和底部会出现红色间隙 为什么会发生这种情况 以及如何在仍然使用径向渐
  • 是 C 还是 C++?

    我需要在 cpp c 源文件中使用自然对数函数 现在 我当然可以通过快速的谷歌搜索和简单的库解决方案来做到这一点 但我有点困惑 在cplusplus dot com网站的reference cmath log 下有一个如何使用日志功能的示例
  • JDialog标题的字体大小

    如何设置 JDialog 标题的字体大小 我在极高分辨率的显示器 5 兆像素 上显示 JDialog 但对话框标题不清晰 我需要在每个对话框的基础上执行此操作 因为该应用程序是多显示器的 有些对话框出现在较低分辨率的显示器上 有些对话框出现
  • .NET xsd 导入器创建不可序列化的类

    我正在使用 NETXSD EXE导入器从 XSD 文件集合生成 C 类 当我尝试将其中一个类序列化为 XML 时 它失败了 无效操作异常 当我深入研究它时 我发现创建的类之一似乎是错误的 这是相关的 XSD 代码
  • 正确使用 JPA criteria API、Predicates 和 CriteriaQuery 的 where 方法

    我正在尝试测试 JPA 存储库 这是我的客户端 测试代码 Test public void testFindBoitesByMultiFieldWithIdentifiantSet BoiteDataOnDemand dod new Boi
  • 如何在asp中每天运行cron作业网络核心应用程序?

    我有一个用 asp 编写的网络应用程序 NET MVC 核心 2 2 O 需要每天凌晨 3 00 运行计划作业 最好的方法是什么 我尝试过hangfire 它在一段时间后停止 我们需要设置IIS服务器始终运行 我google了一下 找到了
  • 如何使用 SimpleXMLElement PHP 替换 XML 节点

    我有以下 XML 字符串 1
  • 在另一个更大的数组中查找一个数组

    最近 我被要求为一项工作编写 3 个测试程序 它们将仅使用核心 Java API 和我选择的任何测试框架来编写 应在适当的情况下实施单元测试 虽然我根本没有收到任何反馈 但我想他们不喜欢我的解决方案 否则我会收到他们的来信 所以我决定在这里
  • if 语句中表达式的顺序[重复]

    这个问题在这里已经有答案了 可能的重复 bCondition NULL 和 NULL bCondition 有什么区别 Javascript 比较语句的缩小 我一直在写我的if像这样的声明 if variable1 1 if variabl
  • 必须安装/启用 PHP Fileinfo 扩展才能使用干预图像

    我在 Laravel 5 项目中使用了干预镜像包 它正在本地服务器上工作 现在 当我通过 cpanel 上传到共享服务器时 出现错误 MissingDependencyException in ImageManager php line 1
  • G++ 找不到 boost 库

    我不擅长命令行编译 我的问题是无法编译简单的项目 这取决于Boost 以下是我的尝试日志 g Wall test cpp o main tmp ccCTvBYE o In function static initialization and