gpt4 book ai didi

c++ - 错误 LNK1181 : cannot open input file 'kernel32.lib'

转载 作者:太空宇宙 更新时间:2023-11-04 14:01:20 29 4
gpt4 key购买 nike

我在 VS 2012 上有一个项目。最新的 SDK 安装在 WIN 8 x64 计算机上,该项目针对 WIn32。

我在 Debug 中有一个干净的构建,但是当我去发布时我收到 1181 LNK 错误 - 无法打开输入文件 kernel32.lib。

我在电脑上有几个位置的文件,在 VC 目录中有 $(WindowsSdkDir_71A)lib 和 $(WindowsSdkDir)\lib。

使用进程监视器我尝试重建并查看 devenv.exe 在哪里寻找文件

** 更新:在调试中,它看起来在正确的位置。在发布时它不寻找 sdk,但我看到了这个:

Y:\MyProjectFofler\$(LibraryPath)\kernel32.lib 路径未找到以及从 win8.0 sdk 中读取的几次成功(应该可以,但结果是一样的,我需要它从 V7.1A SDK 文件夹中读取...)

它可能是什么以及这个错误的解决方案是什么?

谢谢。

最佳答案

我使用 Visual Studio 2017 遇到了这个问题。我试图让 Visual Studio 项目配置引用我想要的外部库 .lib 文件。当我删除对 system 库的任何引用时,我设法触发了此错误。后来我发现这可以通过包含其中一个宏值来纠正(尽管您可以指定一个绝对直接路径,但这可能不是最好的编码约定并且容易变得脆弱)。

在 Visual Studio 项目上,右键单击解决方案资源管理器面板中的项目项(不是解决方案本身,它是最顶层的项目),然后选择属性。从那里执行以下操作:

VC++ 目录 --> 库目录 : $(ProjectDir)lib; $(图书馆路径)

请注意 $(LibraryPath) 值将包括额外的值,例如从 parent 那里继承的值,据我所知,这是一个冗长的选项。我的文件夹项目包含一个名为“lib”的文件夹,这就是为什么我在分号之前有第一个值的原因。

我还使用了其他常用选项来指定库目录值:

$(VC_LibraryPath_x86)
$(WindowsSDK_LibraryPath_x86)
$(NETFXKitsDir)Lib\um\x86

如果您查看 VC++ 目录 --> 库目录 部分,您可以单击条目行并选择“编辑”,然后您可以观看实时预览将评估和解析哪些宏值。如果您需要额外的或更专业的值,请单击按钮以查找更多选项。

Link to image of Visual Studio 2017 Library Directories configuration

关于c++ - 错误 LNK1181 : cannot open input file 'kernel32.lib' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19198836/

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