0
如何使用GCC或Sublime IDE在Linux上编译基于SDL的项目?使用GCC/Sublime在Linux上编译SDL程序
gcc main.cpp -o main -lSDL2
我已经尝试这样做,我只是得到,似乎被人指指点点的想法,无论是程序没有指向库的正确方式或编译器不能识别库的错误。在Sublime上,我基本上通过为SDL创建了自己的构建系统来完成同样的任务,但实际上并没有做任何事情。我可能会做错什么?
{
"cmd" : [ "gcc", "$file", "-o", "-lSDL2" ]
{
我希望这个问题是这样的堆叠适当,它可以被认为Linux的工具,但在Linux和Unix堆栈不建议除非它们包含shell脚本编程问题。
这里只是基本的Hello World,我测试(显然不是很正确格式化,但你的想法。):
#include <SDL2/SDL.h>
int main(int argc, char *argv[]) {
int win = 1;
SDL_Event event;
SDL_Init(SDL_INIT_EVERYTHING);
SDL_WM_SetCaption("Window", NULL);
SDL_SetVideoMode(800, 600, 32, SDL_HWSURFACE);
while (win) {
SDL_WaitEvent(&event);
if (event.type == SDL_QUIT)
win = 0;
}
SDL_Quit();
return 0;
}
当程序被编译我用张贴在海湾合作委员会的命令顶部和得到这些错误:
main.cpp: In function ‘int main(int, char**)’:
main.cpp:19:37: error: ‘SDL_WM_SetCaption’ was not declared in this scope
SDL_WM_SetCaption("Window", NULL);
^
main.cpp:20:36: error: ‘SDL_HWSURFACE’ was not declared in this scope
SDL_SetVideoMode(800, 600, 32, SDL_HWSURFACE);
^
main.cpp:20:49: error: ‘SDL_SetVideoMode’ was not declared in this scope
SDL_SetVideoMode(800, 600, 32, SDL_HWSURFACE);
^
我也试图直接指向头文件与GCC:
gcc main.cpp -o main -l/usr/include/SDL2
我检查过以确保头文件位于usr/include/SDL2中,也许实际的库没有安装在正确的开发位置?
您能告诉我们您遇到的实际错误吗? – Ixrec
有些像这样:main.c:20:36:错误:'SDL_HWSURFACE'未声明(首次在此函数中使用) SDL_SetVideoMode(800,600,32,SDL_HWSURFACE); –
和其他像这样的@Ixrec main.cpp:20:49:错误:'SDL_SetVideoMode'未在此范围内声明 SDL_SetVideoMode(800,600,32,SDL_HWSURFACE); –