我使用C++向量和Winforms创建了一个托管的C++日志解析器应用程序。我想添加多线程和Boost似乎是比Winforms BackgroundWorker更好的选择,因为我希望能够对每个线程执行我现有的C++函数。我在多个不同的教程中多次安装了Boost (最后一个是:https://levelup.gitconnected.com/the-definite-guide-on-compiling-and-linking-boost-c-libraries-for-visual-studio-projects-c79464d7282d),当我尝试#include 时,我仍然有相同的问题
错误LNK1104无法打开文件‘libboost_线程-vc143-mt-x64-1_78.lib’
当我安装了Boost 1_79而不是1_78时,我不知道它为什么要查找这个库。我的.lib文件也有"mt-gd-x64“,而不仅仅是"mt-x64”。我已经为Project->Properties->Linker->General->Additional库目录中的库指定了正确的文件路径。我还尝试通过VisualStudio2022 NuGet包管理器安装Boost。该文件夹中的lib文件也略有关闭。"vc120“而不是"vc143”。我甚至尝试更改.lib文件名,使其与链接器错误中的文件名完全匹配,但是当我这样做时,我得到了更多的错误,比如LNK1104无法打开文件‘libboost_rono-vc143-mt-x64-1_78.lib’。
我是否只需要删除所有的Boost文件并下载版本1_78,然后再试一次?为什么Visual在编译时查找错误的文件名?我的“包括”语句错了吗?
发布于 2022-04-14 14:02:42
我最终解决了这个问题,下载boost 1_78,构建它,并指定该文件夹或1_79文件夹。如果有人可能知道这个程序为什么要寻找1_78而不是1_79,那么请尽管回答,这也要感谢Gkasdrogkas,他编写了关于如何安装Boost的教程,对我来说效果最好。教程链接在以下问题中:)
https://stackoverflow.com/questions/71865112
复制相似问题