gpt4 book ai didi

您的计算机缺少 C++ boost 线程

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:27:38 26 4
gpt4 key购买 nike

当我尝试使用 g++ 编译器在代码块上运行我的程序时,我遇到了这个非常奇怪的问题。我已经安装了 boost 并且直到大约一周前才用完它,我从来没有遇到过任何问题。今天,我回到我正在做的一个项目,当我尝试运行它时突然得到如下错误信息

The program can't start because libboost_thread-mgw47-mt-1_53.dll is missing from your computer. Try reinstalling the program to fix this problem.

现在我之前在这个程序中使用过 boost thread,所以我不知道为什么我会得到这个。同样奇怪的是,boost 线程在我的其他项目中也能正常工作。

我该如何尝试解决这个问题?一切似乎都已准备就绪,路径变量集、编译器、链接器选项集等等……据我所知,自从我上次成功运行该程序以来,没有任何变化。我今天确实更新了 Visual Studio,但我认为这不会有任何影响。我不太确定我还能提供哪些其他信息,因为我不知道为什么会这样。 .dll 文件确实存在,我已经尝试将它移动到工作目录中,但仍然出现相同的错误。

有人对我如何解决这个问题有任何建议吗?

最佳答案

您在该项目中的编译器正在动态链接 boost 线程库,

可能是链接器选项中的一些错误配置设置,或者您的代码使用 dllimport 而不是在编译时解析的“正常”函数(dllimport 在运行时解析函数 - 它无法在所需的库中找到它们,因此您会收到错误消息).

您的其他项目之所以有效,是因为它们静态链接了 boost 线程库(为静态链接/编译提供了正确的 boost 预处理器定义,并为线程库包含了相应的 cpp/lib 文件),因此它包含在程序中。

关于您的计算机缺少 C++ boost 线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16760235/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com