【问题标题】:fatal error LNK1104: cannot open file 'MSVCRT.lib'致命错误 LNK1104:无法打开文件“MSVCRT.lib”
【发布时间】:2014-04-21 00:08:00
【问题描述】:

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

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

我在 Windows 8 64 位下使用 CodeBlocks。使用我安装在C:\Program Files (x86)\Visual C++ 2003 Toolkit 下的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


    【解决方案1】:

    两年后,我终于找到了适合我的解决方案。

    在 CodeBlocks 中,在 Project > Build Options > Compiler Flags 下,删除 Multi-threaded DLL Runtime Library [/MD] 并重建。

    【讨论】:

    • 类似Visual Studio,请务必从“.exe”切换到“.dll”
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

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

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

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

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

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

      【讨论】:

        【解决方案4】:

        关注这个 -> 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

        【讨论】:

        • 感谢您的回答。给我一些时间来安装和配置,我会告诉你它是否有效:-)。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-04-02
        • 2013-09-08
        • 1970-01-01
        • 1970-01-01
        • 2016-02-09
        • 2015-11-30
        • 1970-01-01
        相关资源
        最近更新 更多