我正在使用 Microsoft Visual Studio 2013 Express for Windows Desktop,用 C++ 编写并使用 SDL 2.0.3 库。我正在尝试构建一个独立的.exe,它可以在其他计算机上运行而无需安装任何东西。
我已经按照TwinklebearDev 第 0 课:设置 SDL设置了我的项目。我链接到该库的 x86 版本,并将 x86 版本的 SDL2.dll 放置在 Debug 文件夹和 Release 文件夹中。这是源代码:
#include <iostream>
#include <SDL.h>
int main(int argc, char **argv){
if (SDL_Init(SDL_INIT_EVERYTHING) != 0){
std::cout << "SDL_Init Error: " << SDL_GetError() << std::endl;
return 1;
}
SDL_Quit();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这工作完美并返回 0,直到我尝试静态链接。我尝试通过右键单击项目并单击属性,然后设置以下内容来静态链接:
配置属性 > C/C++ > 代码生成 > 运行时库 > 多线程 (/MT)
然后我收到一堆错误:
警告 1 警告 LNK4098:defaultlib 'msvcrt.lib' 与其他库的使用冲突;使用 /NODEFAULTLIB:库 …