C++ 错误LNK2001\uuuuu imp\uFPrintf Visual Studio 2015 RC
由于许可证过期,我最近被迫从Visual Studio 2015预发行版升级到Visual Studio 2015发行候选版 我的项目以前建设得很好,但现在不是。我只收到两个链接错误,在过去的两天里我一直在尝试解决它们:C++ 错误LNK2001\uuuuu imp\uFPrintf Visual Studio 2015 RC,c++,visual-studio,linker,sdl,visual-studio-2015,C++,Visual Studio,Linker,Sdl,Visual Studio 2015,由于许可证过期,我最近被迫从Visual Studio 2015预发行版升级到Visual Studio 2015发行候选版 我的项目以前建设得很好,但现在不是。我只收到两个链接错误,在过去的两天里我一直在尝试解决它们: 1>SDL2main.lib(SDL_windows_main.obj) : error LNK2001: unresolved external symbol __imp_fprintf 1>SDL2main.lib(SDL_windows_mai
1>SDL2main.lib(SDL_windows_main.obj) : error LNK2001: unresolved external symbol __imp_fprintf
1>SDL2main.lib(SDL_windows_main.obj) : error LNK2001: unresolved external symbol __imp___iob_func
我正在链接到SDL2main,因为我是从他们的网站上得到的,我在版本2.0.0和版本2.0.3中得到了相同的错误,所以我认为这不是特定版本的问题
我为库指定了以下目录(注意x64文件夹,我正在构建64位,我还构建了带有“b2 address model=64”的boost)
注意:我已经尝试了SDL2-2.0.3和SDL2-2.0.0,这是我以前使用的工作版本(VS2015)
我没有安装Visual Studio 2013,我的平台工具集必须升级到Visual Studio 2015(v140),但我也尝试了唯一的其他选项:Visual Studio 2015-Windows XP(v140_XP)
我想要的是一个关于如何解决这个问题的直截了当的答案。如果需要,我可以提供进一步的详细信息。SDL2main不是根据您使用的同一VS版本构建的,并且不能保证预发布/RC版本中的任何内容完全向后兼容。如果您有源代码,那么最好自己构建所有内容,使用大致相同的构建选项—特别是用于静态/动态链接和多线程等的构建选项—以便最终得到彼此完全兼容的库
另请参见链接到SDL2main,因为我从他们的网站上获得了它。您可能应该自己构建它,而不是构建SDL2,并且似乎要编译,需要让它运行,因为我也必须更新一些DLL。似乎已经工作了,如果您想了解一些要点,请继续回答。:)@stijn我不需要编译SDL mixer、image或ttf,只是SDL主项目。好吧,可能对未来的访问者有用,所以我将answer@stijn有趣的是,这个问题似乎很相关,因为在过去的几个月里,我一直有人在投票。再次感谢您抽出时间!
$(SolutionDir)../external/boost_1_58_0/stage/lib/
$(SolutionDir)../external/SDL/SDL2_ttf-2.0.12/lib/x64/
$(SolutionDir)../external/SDL/SDL2_mixer-2.0.0/lib/x64/
$(SolutionDir)../external/SDL/SDL2_image-2.0.0/lib/x64/
$(SolutionDir)../external/SDL/SDL2-2.0.0/lib/x64/
$(LibraryPath)