c++ - LNK2019 未解析的外部符号 _CrtDbgReport 在函数 _CRT_RTC_INIT SDL2 中引用

标签 c++ linker visual-studio-2015

我正在尝试获取 apitest编译..

按照指示克隆并 cmake -G "Visual Studio 14 2015 Win64"..,一切正常

第一个问题,很多这样的,我什至没有得到错误列表:

error LNK2019: unresolved external symbol _CrtDbgReport referenced in function _CRT_RTC_INIT

看了看,他们说要切换

项目属性 -> 配置属性 -> C/C++ -> 代码生成 -> 运行库

从多线程DLL到多线程调试DLL

好吧,我尝试再次构建,它再次失败,但至少这次我得到了错误列表..

我的 friend :

Severity    Code    Description Project File    Line    Suppression State
Error   LNK2019 unresolved external symbol _CrtDbgReport referenced in function _CRT_RTC_INIT   SDL2    C:\Users\GBarbieri\Documents\Visual Studio 2015\Projects\apitest\_out\thirdparty\SDL2-2.0.1\MSVCRTD.lib(_init_.obj) 1   

answer表示该项目仅与 C 运行时 (CRT) 库的一部分链接,msvcrtd.lib。我还需要链接库 vcruntimed.libucrtd.lib

很好,但是如何呢?

apitest 是基于许多项目的解决方案,我想我必须手动将一些东西添加到 SDL2 中。我尝试了很多尝试,尤其是在 Linker -> Input -> Additional Dependencies 下,但我从来没有让它工作

我在 C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib 下找到了 msvcrtd.lib 虽然我猜这个解决方案正在尝试构建它的拥有。

我在 msvcrtd.lib 所在的位置找到了 vcruntimed.libucrtd.lib 位于 C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10240.0\ucrt\x64

提前致谢..

ps:我有VS15社区版

最佳答案

在我的例子中,这是因为在项目的运行时库选项中,我在调试中使用了 /MD 而不是 /MDd 所以它在发布时构建良好但不是调试中

关于c++ - LNK2019 未解析的外部符号 _CrtDbgReport 在函数 _CRT_RTC_INIT SDL2 中引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35793622/

相关文章:

c++ - 重复循环中的回文

c++ - 循环链接库

sql-server - 根级别的数据无效。 SSIS 的第 1 行

visual-studio-2015 - 使用 TFS 2013 构建 Visual Studio 2015 解决方案时遇到问题

c++ - 如何将静态常量字符作为参数传递给函数?

c++ - 计算一组字符的出现次数并从字符串中减去空格

c++ - cppcheck 似乎可以工作,但没有出现 lint 结果(Sublime Text 3,Mac)

c - 使用 gcc 链接到 sqlite3.h 的问题

gcc - 为什么丢失的共享库会致命?

asp.net-mvc - Visual Studio 2015 : Custom Domains in IIS Express - Invalid Hostname