Linker 无法打开文件atls.lib
我的硬盘中有atls.lib,但无法将其链接到Visual Studio项目中。我知道atls.lib是一个特定于ATL的库文件,我拥有所有ATL文件/头/库。但是,我仍然无法链接它们 链接:致命错误LNK1104:无法打开文件“atls.lib” 有人能帮助一个无助的程序员吗Linker 无法打开文件atls.lib,linker,atl,visual-c++-2008-express,Linker,Atl,Visual C++ 2008 Express,我的硬盘中有atls.lib,但无法将其链接到Visual Studio项目中。我知道atls.lib是一个特定于ATL的库文件,我拥有所有ATL文件/头/库。但是,我仍然无法链接它们 链接:致命错误LNK1104:无法打开文件“atls.lib” 有人能帮助一个无助的程序员吗 多谢各位 似乎库目录尚未添加。在项目属性、链接器、常规选项中,将atls.lib所在的目录添加到附加库目录字段。在我的例子中,问题是缺少x64的ATL/MFC库,我必须在Visual Studio安装程序中添加它们(这是
多谢各位 似乎库目录尚未添加。在项目属性、链接器、常规选项中,将
atls.lib
所在的目录添加到附加库目录
字段。在我的例子中,问题是缺少x64的ATL/MFC库,我必须在Visual Studio安装程序中添加它们(这是一个开源项目,因此我不知道该要求)
无价之宝再次发挥了作用:在
$(vInstallDir)atlmfc\lib
下找到atls.lib时,链接器在$(vInstallDir)中查找atlmfc\lib\amd64
我只需将此文件复制到我的项目文件夹中,就解决了此问题。我将
添加到解决方案属性中的链接器>输入>附加依赖项中,并解决了此问题。为了更新此问题,我在运行Spectre安装后遇到了此错误,VC++规范代码缓解工具。在查看VC++目录后,我注意到Include目录和Library目录都已更改为在路径中添加“Spectre”,而实际文件的原始路径已不存在。在我弄清楚Spectre是否没有正确安装,或者仅仅改变路径是否就能解决问题后,我会更新这个;我不希望在我的代码中暴露投机性攻击,这显然发生在ATL代码中
编辑
我的编译器是VS2017社区版
编辑
霍尔格·施梅肯(Holger Schmeken)发现了一个对我有效的解决方案。在我最近得到一个VS2019更新后,这个问题开始发生在我身上。我注意到这是因为幽灵缓解已自动启用,但我没有该库的幽灵缓解版本
安装Spectre缓解版本或禁用Spectre缓解都是可能的修复方法。通过Visual Studio安装程序安装以下单个组件,修复了我使用VS2019运行32位驱动程序的问题:
- 用于最新v142构建工具的C++ATL,具有Spectre缓解功能(x86和x64)
我解决了这个问题。我被包括在库中,但仍然得到错误。它神秘地解决了。不过,现在我想看看吗?谢谢。请使用宏$(VCInstallDir)。因此,它的$(VCInstallDir)Tools\MSVC\14.15.26726\atlmfc\lib\x64\atls.libIn VS 2019,因为它是一个lib文件,请确保添加到正确的设置:右键单击项目,选择属性,在配置属性>VC++目录>库目录下,添加\Professional\VC\Tools\MSVC\14.24.28314\atlmfc\lib\x86Thanks,基本上,我们也需要ATL的幽灵库!