启用链接时优化会导致链接器错误吗?

2023-12-27

我有可以正常编译和链接的代码。

我现在尝试启用链接时优化,但添加-flto我的编译器和链接器标志导致链接器错误:

/usr/local/lib/libboost_thread.a(thread.o): \
    In function `void boost::throw_exception<boost::bad_lexical_cast>(boost::bad_lexical_cast const&)':
    thread.cpp:(.text._ZN5boost15throw_exceptionINS_16bad_lexical_castEEEvRKT_[_ZN5boost15throw_exceptionINS_16bad_lexical_castEEEvRKT_]+0x124): \
        undefined reference to `vtable for boost::bad_lexical_cast'

我添加的唯一标志是-flto.

set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -flto" )
set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -flto" )

需要明确的是:

  • Without -flto该应用程序构建和链接良好
  • With -flto(并且没有其他更改),应用程序无法链接并出现上述错误

是什么导致了这个链接器错误?


None

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

启用链接时优化会导致链接器错误吗? 的相关文章

随机推荐

  • 使用 Visual Studio 2012 进行部署时删除 ConnectionString

    我正在开发一个包含 2 个 Web 应用程序的项目 其中一个作为长时间运行的进程 使用 appfabric 托管 另一个只是一个普通的 MVC 应用程序 它们共享相同的数据上下文 因此共享相同的连接字符串 appfabric 应用程序被部署
  • 如何使用 Google Maps API v2 确定道路上的经纬度坐标

    我已经使用了谷歌地理地址并使用纬度 经度得到了地址 如何确定我是否在路上 基本上是道路碰撞测试 我目前正在使用位置管理器来管理纬度 经度 并且公路上和公路旁的地理地址相同 最终解决方案 Use 通过 Google Geocoding API
  • ASP.NET MVC ActionLink 保留“旧”路由参数

    我的两个过滤链接 Html ActionLink Customer 1 Index new customer 1 Html ActionLink Project A Index new project A 我的带有过滤功能的控制器 publ
  • 在图像周围浮动文本

    我需要帮助创建一个围绕价格标签浮动的文本容器 如下图所示 这是我到目前为止所尝试过的 jsFiddle 演示 http jsfiddle net kzmndzj4 HTML div class product p Lorem ipsum d
  • 返回 Lua 表中值的索引

    我在lua中有这张表 local values a b c 如果变量等于表条目之一 有没有办法返回表的索引 说 local onevalue a 如何在不迭代所有值的情况下获取表中 a 或一个值的索引 没有迭代就没有办法做到这一点 如果您发
  • 如何使用“setTimeout”调用对象本身

    为什么我不能使用setTimeout在 JavaScript 对象中 Message function this messageFactory this feedbackTag document getElementById feedbac
  • OpenACC + MPI Fortran 程序入门

    我有一个工作串行代码和一个通过 OpenACC 并行化的工作并行单 GPU 代码 现在我尝试通过在多个 GPU 上运行 采用 mpi openacc 范例来增加并行性 我用 Fortran 90 编写代码 并使用 Nvidia 的 HPC
  • PHP include/require 不传递变量

    是否可以在 PHP 中包含一些东西without传递传递给原始脚本的变量 我正在使用 Joomla 并且我收到了错误记录here https stackoverflow com questions 8356683 joomla error
  • 如何通过 adb android 更改首选网络类型?

    如何使用 ADB 更改首选网络类型 示例 设置仅使用 GSM 仅使用 WCDMA 仅使用 LTE 或自动 这适用于我的设备 adb shell sqlite3 data data com android providers settings
  • 获取 ObservableValue 的所有已注册侦听器

    如何让所有听众获得可观察的值 我可以扩展课程并覆盖addListener and removeListener将它们存储在集合中的方法 但该集合应该已经以某种方式存储在可观察值内 我怎样才能得到那一套 I find a way around
  • Powershell获取完整路径信息

    我有一个名为视频的目录 在这个目录里面 是一堆各种相机的子目录 我有一个脚本可以检查各个摄像机 并删除早于特定日期的录制内容 我在获取相机的完整目录信息时遇到了一些麻烦 我正在使用以下方法来获取它 Get all of the paths
  • IOS 覆盖本地通知

    我创建了一个Local Notification当某个按钮 SetButton 被点击 我现在的问题是如果SetButton再次按下 它不会覆盖第一次按下 它会显示 2 个通知 依此类推 如何确保第二次按按钮会覆盖第一次按按钮并且不会累积通
  • 后台工作者是一个线程吗? (C#)

    后台工作者是一个线程吗 我应该什么时候使用它 是的 它基本上就像一个线程 但具有额外的功能 通知您进度和完成时间的事件 每当您需要执行可能需要一段时间的操作 例如计算 文件或数据库读 写 Web 请求等 并且您不希望 GUI 在执行时显得无
  • 如何挂钩 MANAGED(.NET) 进程并收集该进程内的信息?

    我需要挂钩托管 C C CLI 进程 我需要查找有关它有多少个窗口 其关联控件及其属性 的信息并将其发送到用 C 托管代码编写的目标应用程序 为此我需要做什么 我是否需要探索该托管进程的 IAT 导入地址表 和 EAT 导出地址表 我需要用
  • Rails 从现有表生成模型?

    我对 Rails 框架非常陌生 想知道如何基于现有表生成模型 例如 我有一个名为 person 的表 并且想要根据该表中的列生成模型 但是 每当我使用 ruby script generate model Person skip migra
  • video-react 属性宽度和高度不起作用

    按照这个doc https video react js org components player 我们可以在属性中添加玩家的宽度和高度
  • 在 text/xml 值中编码 CR-LF 换行符的正确方法是什么?

    与可以执行任何操作的 application xml 文件或将所有空白序列转换为单个空格字符的标准化字符串值相反 我在这里专门询问具有字符串值的文本 xml 文件的上下文 为了简单起见 假设我仅在 UTF8 编码文件中使用 ASCII 字符
  • 是否可以将Python Seaborn与plotly集成

    我正在为plot ly寻找python seaborn的一些指导 是否可以在plot ly 上提供seaborn 图表 有可用的示例或教程吗 请帮忙 提前致谢 Seaborn 基于 matplotlib Plotly 可以转换 matplo
  • 带有 json 文件的 C++ Boost 程序选项

    可以使用 boost 程序选项库 http www boost org doc libs 1 64 0 doc html program options html http www boost org doc libs 1 64 0 doc
  • 启用链接时优化会导致链接器错误吗?

    我有可以正常编译和链接的代码 我现在尝试启用链接时优化 但添加 flto我的编译器和链接器标志导致链接器错误 usr local lib libboost thread a thread o In function void boost t