C ++链接器错误LNK2005已在SDL中定义
c++ linker error LNK2005 already defined in SDL
我正在使用 VS2005 编译我的程序。我正在链接到 SDL 静态库并收到以下链接器错误;
1>LIBCMTD.lib(fpinit.obj) : error LNK2005: __fltused already defined in SDL2d.lib(SDL_stdlib.obj)
1>LIBCMTD.lib(ftol2.obj) : error LNK2005: __ftol2_sse already defined in SDL2d.lib(SDL_stdlib.obj)
1> Creating library ..\..\..\product\VS2005\libs\Standalone.lib and object ..\..\..\product\VS2005\libs\Standalone.exp
1>..\..\..\product\VS2005\libs\Standalone.exe : fatal error LNK1169: one or more multiply defined symbols found
我使用相同的 VS2005 编译器编译 SDL2d.lib。我最初的想法是这些项目的运行时库设置不匹配。但是在检查后它们都设置为多线程调试。
我刚刚注意到上面的链接器输出似乎在创建 Standalone.exe 之前创建了 Standalone.lib 和 Standalone.exp。我不知道它为什么要制作 .lib 和 .exp
出现此错误的任何其他原因?
谢谢
需要在 SDL 项目中定义 HAVE_LIBC。这停止了 _ftlused 和 _ftol2_sse
的多重重新定义
我正在使用 VS2005 编译我的程序。我正在链接到 SDL 静态库并收到以下链接器错误;
1>LIBCMTD.lib(fpinit.obj) : error LNK2005: __fltused already defined in SDL2d.lib(SDL_stdlib.obj)
1>LIBCMTD.lib(ftol2.obj) : error LNK2005: __ftol2_sse already defined in SDL2d.lib(SDL_stdlib.obj)
1> Creating library ..\..\..\product\VS2005\libs\Standalone.lib and object ..\..\..\product\VS2005\libs\Standalone.exp
1>..\..\..\product\VS2005\libs\Standalone.exe : fatal error LNK1169: one or more multiply defined symbols found
我使用相同的 VS2005 编译器编译 SDL2d.lib。我最初的想法是这些项目的运行时库设置不匹配。但是在检查后它们都设置为多线程调试。
我刚刚注意到上面的链接器输出似乎在创建 Standalone.exe 之前创建了 Standalone.lib 和 Standalone.exp。我不知道它为什么要制作 .lib 和 .exp
出现此错误的任何其他原因?
谢谢
需要在 SDL 项目中定义 HAVE_LIBC。这停止了 _ftlused 和 _ftol2_sse
的多重重新定义