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

问题描述 投票:1回答:4

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

致命错误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的情况下解决这个问题的任何想法(另外,我不知道这是否会起作用)?

c++ visual-c++ linker linker-errors
4个回答
1
投票

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


1
投票

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

在CodeBlocks中,在Project> Build Options> Compiler Flags下,删除多线程DLL运行时库[/ MD]并重建。


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


0
投票

我刚刚使用Visual Studio 2017遇到了这个问题。经过反复试验,我发现如果我在Linker - > Input部分输入一个空值或空值,它会给我一个关于LNK1104的错误:无法打开文件'MSVCRT。 LIB”。最终我发现我应该把这个值留在那里。

在Visual Studio项目中,右键单击解决方案资源管理器面板中的项目项(而不是解决方案本身,这是最顶层的项目),然后选择“属性”。从那里做如下:

链接器 - >输入:%(AdditionalDependencies)

如果你像我一样进入这种情况,这些额外的信息可能会有所帮助。我试图使用外部.lib文件进行编译。以前我在这个输入部分有一个值,如:$(ProjectDir)lib; %(AdditionalDependencies)但这会导致其他问题,最终我将该值移到:

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

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

© www.soinside.com 2019 - 2024. All rights reserved.