我正在尝试获取 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.lib
和 ucrtd.lib
。
很好,但是如何呢?
apitest 是基于许多项目的解决方案,我想我必须手动将一些东西添加到 SDL2 中。我尝试了很多尝试,尤其是在 Linker -> Input -> Additional Dependencies 下,但我从来没有让它工作
我在 C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib
下找到了 msvcrtd.lib
虽然我猜这个解决方案正在尝试构建它的拥有。
我在 msvcrtd.lib
所在的位置找到了 vcruntimed.lib
。 ucrtd.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/