在OSX上安装SDL

weixin_38053367 2019-09-12 03:14:34

我下载了SDL2-2.0.3。我跑了./configure && make && make install。我也尝试过brew install SDL2。 这是我的main.c //Using SDL and standard IO #include <SDL2/SDL.h> #include <stdio.h> //Screen dimension constants const int SCREEN_WIDTH = 640; const int SCREEN_HEIGHT = 480; int main(int argc, char* args[]) { SDL_Window* window = NULL; SDL_Surface* screenSurface = NULL; if (SDL_Init(SDL_INIT_VIDEO) < 0) { printf("SDL could not initialize! SDL_Error: %s\n", SDL_GetError()); } } 当我运行它 ~:.make main gcc main.c -o main Undefined symbols for architecture x86_64: "_SDL_GetError", referenced from: _main in main-d5699d.o "_SDL_Init", referenced from: _main in main-d5699d.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make: *** [main] Error 1 ~:. 如何安装呢?






...全文
202 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38065454 2019-09-12
  • 打赏
  • 举报
回复

您无法链接libSDL2.{a,dylib}。 你想: gcc -o main main.c -lSDL2 或者是: gcc -o main main.c -L/usr/local/lib -lSDL2
weixin_38067646 2019-09-12
  • 打赏
  • 举报
回复

确保您下载的SDL2版本为x64。您还需要将其与-lSDL2标志静态链接。
weixin_38078293 2019-09-12
  • 打赏
  • 举报
回复

下面的命令与SDL一起安装,它告诉你的编译和链接正确的开关: sdl2-config --cflags --libs 在我的特定机器上,给出: -I/usr/local/include/SDL2 -D_THREAD_SAFE -L/usr/local/lib -lSDL2 这意味着你可以编译和链接这样始终保证得到正确的设置: g++ main.cpp -o main $(sdl2-config --cflags --libs) 或者,你可以把它放在一个Makefile像这样(用TAB在开始第二行): main: main.cpp g++ main.cpp -o main $$(sdl2-config --cflags --libs)
weixin_38093352 2019-09-12
  • 打赏
  • 举报
回复

你需要运行 sdl2-config --cflags,这将给你的编译标志,并 sdl2-config --libs这将给你需要使用SDL2链接标志 。 的标志会因平台而异这就是为什么你应该使用sdl2-config,而不是硬编码一些特定的标志到你的Makefile或其他构建脚本。

472

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧