c++ - 如何在 Visual Studio 2015 中更新我的 C++ 项目以使用新的通用 CRT?

标签 c++ visual-studio-2015 crt

在 VS2015 将我的项目更新到新的平台工具集 v140 后,由于链接器错误,它无法构建:LNK1104 无法打开文件“libucrt.lib”。

由于本文中提到的新通用 CRT,该库似乎已被移动:http://blogs.msdn.com/b/vcblog/archive/2015/03/03/introducing-the-universal-crt.aspx?PageIndex=2 .

虽然文章确实告诉我现在应该链接到什么,但它没有提供如何链接的说明。

我的解决方案会生成一个 .exe 和一个它使用的 .dll。我不知道如何处理文章下面描述的矩阵。

发布 DLL (/MD):msvcrt.lib vcruntime.lib ucrt.lib

发布静态(/MT):libcmt.lib libvcruntime.lib libucrt.lib

最佳答案

转换项目时,您需要确保更新包含和链接器设置以指向新的 CRT。

对于包含,添加以下内容:

$(UniversalCRT_IncludePath)

对于链接,根据您的目标处理器添加以下内容之一:

$(UniversalCRT_LibraryPath_x86)
$(UniversalCRT_LibraryPath_x64)
$(UniversalCRT_LibraryPath_arm)

关于c++ - 如何在 Visual Studio 2015 中更新我的 C++ 项目以使用新的通用 CRT?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31527969/

相关文章:

c++ - 是否可以将派生函数成员的指针保存在基类使用的另一个类中

c++ - 将c代码链接到c++代码时的g++链接顺序依赖性

android - Visual Studio 2015 RTM Cordova 项目无法调试/部署到 Android、Windows、Windows Phone

c++ - atlbase.h和不同版本的VC CRT

c++ - 为什么 Visual Studio CRT 内存报告显示 CRT block

c - C 中变量参数的传递

c++ - 删除字符串中最后一次出现的重复字符

c++ - 如何在 constexpr string_view 上使用 std::string_view::remove_prefix()

visual-studio-2015 - 安装VS 2015 Update 2后,当我停止调试时IIS Express会关闭

.net - 为什么 Visual Studio 2015/2017/2019 测试运行程序没有发现我的 xUnit v2 测试