构建可动态链接的 Boost 会出现链接错误吗?

2024-01-04

我正在尝试构建 boost 并生成 dll,但我所做的一切都没有解决问题。

这是我得到的:

创建库 bin.v2\libs\thread\build\msvc-11.0\dbg\adrs-mdl-32\async-excpt-on\thrd-mlt\boost_thread-vc110-mt-gd-1_53.lib 和对象 bin.v2 \libs\thread\build\msvc-11.0\dbg\adrs-mdl-32\async-excpt-on\thrd-mlt\boost_thread-vc110-mt-gd-1_53.exp thread.obj : 错误 LNK2019: 无法解析的外部符号“__declspec(dllimport) public: __thiscall boost::gregorian::greg_month::greg_month(unsigned Short)” (_imp??0greg_month@gregorian@boost@@QAE@G@Z) 在函数“public: __thiscall boost::gregorian::date::date(enum boost::date_time::special_values)”中引用 (??0date@gregorian@升压@@QAE@W4special_values@date_time@2@@Z) thread.obj :错误 LNK2019:无法解析的外部符号“__declspec(dllimport) public: __thiscall boost::gregorian::greg_month::operator unsigned Short(void)const ” (_imp??Bgreg_month@gregorian@boost@@QBEGXZ) 在函数 __catch$ 中引用?make_external_thread_data@?A0x9b8c45f0@boost@@YAXXZ$0 bin.v2\libs\thread\build\msvc-11.0\dbg\adrs-mdl-32\async-excpt-on\thrd-mlt\boost_thread-vc110-mt-gd-1_53.dll:致命错误 LNK1120:2 未解决外部因素

这里有一些有关设置的信息:

操作系统:W7 x64

构建命令:

b2 -j%NUMBER_OF_PROCESSORS% --abbreviate-paths 工具集=msvc-11.0 定义=_SECURE_SCL=0 定义=_CRT_SECURE_NO_DEPRECATE 定义=_CRT_SECURE_NO_WARNINGS --without-mpi 地址模型=32 变量=调试安装链接=共享运行时链接=共享线程=多异步异常=on异常处理=on extern-c-nothrot=off --prefix=..\boost 光盘 ..

我的计算机上安装了 CYGWin。

这是我到目前为止所尝试过的;

*我尝试在32位命令窗口中构建它(我使用jenkins来构建boost)

*我在boost config/user.hpp中写了#define BOOST_ALL_DYN_LINK

*我在boost config/user.hpp中写了#define BOOST_ALL_NO_LIB

以前有人遇到过这样的问题吗?我真的在任何地方都找不到任何东西吗?


EDIT:

关于我的问题有更新。我能够构建它以供发布。我唯一改变的是这里:

b2 -j%NUMBER_OF_PROCESSORS% --缩写路径工具集=msvc-11.0 定义=_SECURE_SCL=0 定义=_CRT_SECURE_NO_DEPRECATE 定义=_CRT_SECURE_NO_WARNINGS --without-mpi 地址模型=32变体=发布安装链接=共享运行时链接=共享线程=多异步异常=on异常处理=on extern-c-nothrow=off --prefix=..\boost 光盘 ..

可能是什么问题呢?我该如何解决?

预先感谢您的任何建议。


其实我已经找到了解决办法:

我使用 bjam 的方式是正确的,足以动态构建 boost。在那个阶段,我不应该定义任何东西。编译后,我更改了 user.hpp 和 #define BOOST_ALL_DYN_LINK。 这样我自己的项目(正在使用 boost)就会明白 boost 是动态的。这就是应该如何构建 boost 的方式。

这似乎是最好的方法,因为 boost 会按预期自动解码必要的库和 dll,并且运行良好。

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

构建可动态链接的 Boost 会出现链接错误吗? 的相关文章

  • 如何使 Windows 窗体的关闭按钮不关闭窗体但使其不可见?

    该表单有一个 NotifyIcon 对象 当用户单击 关闭 按钮时 我希望表单不关闭而是变得不可见 然后 如果用户想再次查看该表单 可以双击系统托盘中的图标 如果用户想关闭表单 可以右键单击该图标并选择 关闭 有人可以告诉我如何使关闭按钮不
  • ASP.NET Core Serilog 未将属性推送到其自定义列

    我有这个设置appsettings json对于我的 Serilog 安装 Serilog MinimumLevel Information Enrich LogUserName Override Microsoft Critical Wr
  • 如何使用GDB修改内存内容?

    我知道我们可以使用几个命令来访问和读取内存 例如 print p x 但是如何更改任何特定位置的内存内容 在 GDB 中调试时 最简单的是设置程序变量 参见GDB 分配 http sourceware org gdb current onl
  • pthread_cond_timedwait() 和 pthread_cond_broadcast() 解释

    因此 我在堆栈溢出和其他资源上进行了大量搜索 但我无法理解有关上述函数的一些内容 具体来说 1 当pthread cond timedwait 因为定时器值用完而返回时 它如何自动重新获取互斥锁 互斥锁可能被锁定在其他地方 例如 在生产者
  • 如何在列表框项目之间画一条线

    我希望能够用水平线分隔列表框中的每个项目 这只是我用于绘制项目的一些代码 private void symptomsList DrawItem object sender System Windows Forms DrawItemEvent
  • 指针问题(仅在发布版本中)

    不确定如何描述这一点 但我在这里 由于某种原因 当尝试创建我的游戏的发布版本进行测试时 它的敌人创建方面不起作用 Enemies e level1 3 e level1 0 Enemies sdlLib 500 2 3 128 250 32
  • C - 找到极限之间的所有友好数字

    首先是定义 一对友好的数字由两个不同的整数组成 其中 第一个整数的除数之和等于第二个整数 并且 第二个整数的除数之和等于第一个整数 完美数是等于其自身约数之和的数 我想做的是制作一个程序 询问用户一个下限和一个上限 然后向他 她提供这两个限
  • C 预处理器库

    我的任务是开发源分析工具C程序 并且我需要在分析本身之前预处理代码 我想知道什么是最好的图书馆 我需要一些重量轻 便于携带的东西 与其推出自己的 为什么不使用cpp这是的一部分gcc suite http gcc gnu org onlin
  • 如何返回 json 结果并将 unicode 字符转义为 \u1234

    我正在实现一个返回 json 结果的方法 例如 public JsonResult MethodName Guid key var result ApiHelper GetData key Data is stored in db as v
  • 如何将图像路径保存到Live Tile的WP8本地文件夹

    我正在更新我的 Windows Phone 应用程序以使用新的 WP8 文件存储 API 本地文件夹 而不是 WP7 API 隔离存储文件 旧的工作方法 这是我如何成功地将图像保存到 共享 ShellContent文件夹使用隔离存储文件方法
  • 从路径中获取文件夹名称

    我有一些路c server folderName1 another name something another folder 我如何从那里提取最后一个文件夹名称 我尝试了几件事 但没有成功 我只是不想寻找最后的 然后就去休息了 Thank
  • 如何衡量两个字符串之间的相似度? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 给定两个字符串text1 and text2 public SOMEUSABLERETURNTYPE Compare string t
  • 将 unsigned char * (uint8_t *) 转换为 const char *

    我有一个带有 uint8 t 参数的函数 uint8 t ihex decode uint8 t in size t len uint8 t out uint8 t i hn ln for i 0 i lt len i 2 hn in i
  • 控制到达非 void 函数末尾 -wreturn-type

    这是查找四个数字中的最大值的代码 include
  • C - 直接从键盘缓冲区读取

    这是C语言中的一个问题 如何直接读取键盘缓冲区中的数据 我想直接访问数据并将其存储在变量中 变量应该是什么数据类型 我需要它用于我们研究所目前正在开发的操作系统 它被称为 ICS OS 我不太清楚具体细节 它在 x86 32 位机器上运行
  • 为什么 C# Math.Ceiling 向下舍入?

    我今天过得很艰难 但有些事情不太对劲 在我的 C 代码中 我有这样的内容 Math Ceiling decimal this TotalRecordCount this PageSize Where int TotalRecordCount
  • const、span 和迭代器的问题

    我尝试编写一个按索引迭代容器的迭代器 AIt and a const It两者都允许更改容器的内容 AConst it and a const Const it两者都禁止更改容器的内容 之后 我尝试写一个span
  • Validation.ErrorTemplate 的 Wpf 动态资源查找

    在我的 App xaml 中 我定义了一个资源Validation ErrorTemplate 这取决于动态BorderBrush资源 我打算定义独特的BorderBrush在我拥有的每个窗口以及窗口内的不同块内
  • ASP.NET MVC 6 (ASP.NET 5) 中的 Application_PreSendRequestHeaders 和 Application_BeginRequest

    如何在 ASP NET 5 MVC6 中使用这些方法 在 MVC5 中 我在 Global asax 中使用了它 现在呢 也许是入门班 protected void Application PreSendRequestHeaders obj
  • 使用按位运算符相乘

    我想知道如何使用按位运算符将一系列二进制位相乘 但是 我有兴趣这样做来查找二进制值的十进制小数值 这是我正在尝试做的一个例子 假设 1010010 我想使用每个单独的位 以便将其计算为 1 2 1 0 2 2 1 2 3 0 2 4 虽然我

随机推荐