致命错误LNK1104:无法打开文件' MSVCRT.lib'

时间:2014-03-15 16:18:46

标签: c++ visual-c++ linker linker-errors

我知道有很多像这样的问题,但这些答案中没有一个能帮我解决问题。什么问题?好吧,在链接时,在编译我的项目后,我会收到:

  

致命错误LNK1104:无法打开文件' MSVCRT.lib'

我在Windows 8 64位下使用CodeBlocks。使用Visual C ++ 2003 Toolkit编译器进行编译,我在C:\Program Files (x86)\Visual C++ 2003 Toolkit下安装并使用Windows API中的很多函数,我也在C:\Program Files (x86)\Windows Kits下安装了这些函数。

在互联网上搜索我发现了一些解决方案,比如在我的项目设置下链接这个库(MSVCRT.lib),但我绝对没有这个文件。这是我在15天前工作的一个项目(我收到此错误的项目),现在我想恢复它的开发。我很多次编译和链接这个项目,我从来没有得到这个链接器错误,我不知道为什么我现在无法链接它。

有些解决方案说我需要安装VS.NET,所以MSVCRT.lib文件会在那里,但我从来没有安装过,我能够编译和链接我的项目!

关于如何在不安装VS.NET的情况下解决这个问题的任何想法(另外,我不知道这是否会起作用)?

4 个答案:

答案 0 :(得分:1)

为我做的是删除.sdf和.suo文件。

答案 1 :(得分:1)

两年后,我终于在我的案例中找到了解决方案。

在CodeBlocks中, Project >下构建选项> 编译器标志,删除多线程DLL运行时库[/ MD] 并重建。

答案 2 :(得分:0)

关注此事 - > Integrating Microsoft Visual Toolkit 2003 with Code::Blocks IDE

从那里

  

如果您正在编译的项目抱怨它无法找到   “msvcrt.lib”然后下载.NET 1.1 SDK并添加到END的   目录 - >链接器选项卡:

     

C:\ Program Files \ Microsoft Visual Studio .NET 2003 \ Vc7 \ lib

答案 3 :(得分:0)

我只是使用Visual Studio 2017遇到此问题。经过反复试验,我发现如果在链接器->输入部分中输入空值或空白值,则会出现有关LNK1104的错误:无法打开文件“ MSVCRT.lib”。最终,我发现应该将此值保留在那里。

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

链接器->输入%(AdditionalDependencies)

如果您以与我相同的方式遇到这种情况,此附加信息可能会有所帮助。我正在尝试使用外部.lib文件进行编译。以前,我在此输入部分有一个值,例如: $(ProjectDir)lib; %(AdditionalDependencies),但这会导致其他问题,最终我将该值移至:

VC ++目录->库目录 $(ProjectDir)lib; $(LibraryPath)

请注意,$(LibraryPath)值将包含额外的值,例如从父级继承的值。我的文件夹项目包含一个名为“ lib”的文件夹,这就是为什么我在分号之前拥有第一个值的原因。

相关问题