我正在尝试使用visual studio中使用mingw编译的库。但是,我得到以下链接器错误:
错误LNK2001:无法解析外部符号__输入___iob
错误LNK2019:无法解析外部符号__输入___函数中引用的pctype
错误LNK2019:无法解析外部符号__输入____mb_cur_函数中引用的最大值
错误LNK2001:无法解析外部符号_fprintf
我能够修复_fprintf错误,链接到旧版本_stdio_definitions.lib根据这篇文章:未解析的外部符号__输入__fprintf和__输入____iob_函数,SDL2。
然而,我不知道如何修复其他三个未解决的外部问题。我怎么才能解决这个问题呢?这些库在Visual Studio 2013下工作得很好。
编辑:
好的,这是最新消息。我将libmsvcrt.a从mingw lib文件夹移到Visual Studio中,并将其添加到链接器设置中。现在它似乎工作正常。
发布于 2015-07-22 02:16:26
这些库是在旧版本的CRT上编译的。您得到的未解析符号是编译后的库中存在的CRT的内部符号。您必须根据VS2015 CRT (通用CRT)重新编译库。但我不确定MinGW是否支持这一点。
如果无法做到这一点,则必须继续使用VS2013编译器。(您可以通过在项目选项中将工具集设置为vs2013来使用VS2015集成开发环境。但您仍然只能使用2013编译器支持的C++特性。)
发布于 2017-02-24 01:16:44
我遇到了同样的问题(库使用静态CRT编译,而不是DLL中的CRT ),我通过更改Project Properties中的以下两个参数设法使其正常工作:
如果这还不够,在下面的页面上有更多:https://social.msdn.microsoft.com/Forums/en-US/841e5723-bce4-4340-b7b3-027dcdf90f00/
https://stackoverflow.com/questions/31546519
复制相似问题