我关注Lazy Foo's tutorial for getting started with SDL 所以我按照页面上的所有说明进行了编译错误。
这是源代码:
#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;
}
Error 1 error LNK2019: unresolved external symbol _SDL_GetError referenced in function _SDL_main Error 2 error LNK2019: unresolved external symbol _SDL_Init referenced in function _SDL_main Error 3 error LNK2019: unresolved external symbol _SDL_Quit referenced in function _SDL_main Error 4 error LNK2019: unresolved external symbol _WinMain@16 referenced in __tmainCRTStartup
我已经仔细检查以确保我的设置正确无误。
配置属性&gt; VC ++目录&gt;包括目录
C:\Users\Minkai\Documents\Visual Studio 2013\Projects\SDL2-2.0.3\include;$(IncludePath)
配置属性&gt; VC ++目录&gt;图书馆目录
C:\Users\Minkai\Documents\Visual Studio 2013\Projects\SDL2-2.0.3\lib\x64;$(LibraryPath)
配置属性&gt;链接器&gt;输入&gt;附加依赖
SDL2.lib;SDL2main.lib;%(AdditionalDependencies)
配置属性&gt;链接器&gt;系统&gt;子系统 我尝试在Window和Console之间切换,不起作用。
我把SDL2.dll放在项目的任何地方只是为了确保。
一些信息:
答案 0 :(得分:0)
要使用VS2013构建x64 SDL 2.0应用程序,您需要创建平台并从项目属性中设置以下内容:
1 - “项目属性” - &gt; “配置管理器” - &gt; “Active solution platform”下拉菜单,选择“&lt; New ...&gt;”
2 - 在“新解决方案平台”对话框中,在“输入或选择新平台”下拉菜单中选择“x64”
3 - 在同一个对话框中,在Win32上保留“复制设置”,勾选“创建新项目平台”复选框
注意:在这3个步骤之后,此项目的VC ++目录将全部正确设置为x64风格(在项目设置中检查VC ++目录)。
4 - 确保(或设置)“C / C ++” - &gt; “一般” - &gt; “其他包含目录”包含“SDL / include”文件夹的路径
5 - 确保(或设置)您的“链接器” - &gt; “一般” - &gt; “其他库目录”包含“SDL / lib / x64”文件夹的路径
6 - 确保(或设置)您的“链接器” - &gt; “输入” - &gt; “附加依赖项”包含“SDL2.lib;”和“SDL2main.lib;”
7 - 你的样本现在应该编译和链接。确保您的可执行文件可以访问“SDL / lib / x64 / SDL2.dll”(例如,将其粘贴到您的exe上)以便运行它
HTH
答案 1 :(得分:-1)
要运行 SDL Program ,您需要在目录设置中添加包含库并在您的代码中包含这一行:
#define SDL_MAIN_HANDLED