Visual C ++ 2010中的链接错误LNK1104

时间:2010-09-04 21:42:47

标签: visual-studio-2010 visual-c++-2010

今天我启动了Visual Studio 2010(Visual C ++)并开始研究项目。该解决方案包含两个项目。一个是我正在编写的静态库,另一个是包含库的单元测试的测试应用程序。

不改变昨天的任何内容,可执行文件不再链接:

LINK : fatal error LNK1104: cannot open file 'mylib.lib'

静态库编译和链接很好。我没有在一周左右更改项目设置,昨天连接得很好。

如果我进入可执行项目的设置并为$(SolutionDir)\debug添加库目录,我会收到以下链接错误:

LINK : fatal error LNK1104: cannot open file 'kernel32.lib'

我不确定问题是什么。我试过清理,重建,甚至重新启动我的机器。谷歌发现了古代Visual C ++版本中的一些错误(但我使用的是2010),以及该程序已经运行的可能性。但是,它没有运行,重启确认了这一点。

什么会导致链接器找不到核心库,例如kernel32.lib,或者就此而言,我的解决方案的输出目录是什么?

这是老式的C ++,一个跨平台的库,而不是Microsoft添加的托管内容。

3 个答案:

答案 0 :(得分:4)

我必须在“Library Directories”对话框中选中“从父级或项目默认值继承”。一旦我这样做,链接器就可以找到所有必需的库。我仍然必须包括$(SolutionDir)\debug

答案 1 :(得分:3)

将microsoft SDK目录包含在project-> properties-> linker-> general->其他库目录中。

在我的电脑上

D:\ Program Files \ Microsoft SDKs \ Windows \ v7.1 \ Lib

答案 2 :(得分:1)

我通过禁用“启用.NET Framework源代码”解决了这个问题(请参阅:“菜单栏/工具/选项/调试/常规/启用.NET Framework源代码”)。显然是this is a bug in Visual Studio