有人能解释一下
__imp__fprintf
和
__imp____iob_func
未解决的外部手段?
因为当我试图编译时,我会得到这些错误:
1>SDL2main.lib(SDL_windows_main.obj) : error LNK2019: unresolved external symbol __imp__fprintf referenced in function _ShowError
1>SDL2main.lib(SDL_windows_main.obj) : error LNK2019: unresolved external symbol __imp____iob_func referenced in function _ShowError
1>E:\Documents\Visual Studio 2015\Projects\SDL2_Test\Debug\SDL2_Test.exe : fatal error LNK1120: 2 unresolved externals我已经可以说,问题不在于连接错了。我把所有的东西都正确地连接起来了,但出于某种原因,它无法编译。
我正在尝试使用SDL2。
我正在使用Visual 2015作为编译器。
我已经链接到Linker SDL2main.lib中的SDL2.lib和->输入->附加依赖项,并确保VC++目录是正确的。
发布于 2019-04-02 14:09:43
在我的示例中,此错误来自于我尝试移除与MSVC版本相关的运行时库DLL (msvcr10.dll )和/或删除静态运行时库,以从可执行文件中删除多余的脂肪。
因此,我使用/NODEFAULTLIB链接器开关,我自制的"msvcrt-light.lib“(在需要时使用谷歌),以及mainCRTStartup() / WinMainCRTStartup()条目。
它是自Visual 2015以来的IMHO,所以我坚持使用旧的编译器。
然而,定义符号_NO_CRT_STDIO_INLINE可以消除所有麻烦,一个简单的"Hello“应用程序也是3KB小的,并且不依赖于不寻常的all。在2017中测试。
https://stackoverflow.com/questions/30412951
复制相似问题