在OSX上安装SDL
我下载了SDL2-2.0.3
。我跑了./configure && make && make install
。我也尝试过brew install SDL2
。在OSX上安装SDL
这是我的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
~:.
如何安装呢?
回答:
您无法链接libSDL2.{a,dylib}
。
你想:
gcc -o main main.c -lSDL2
或者是:
gcc -o main main.c -L/usr/local/lib -lSDL2
回答:
确保您下载的SDL2版本为x64。您还需要将其与-lSDL2
标志静态链接。
回答:
下面的命令与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)
回答:
你需要运行
sdl2-config --cflags
,这将给你的编译标志,并sdl2-config --libs
这将给你需要使用SDL2链接标志
。
的标志会因平台而异这就是为什么你应该使用sdl2-config
,而不是硬编码一些特定的标志到你的Makefile或其他构建脚本。
以上是 在OSX上安装SDL 的全部内容, 来源链接: utcz.com/qa/258690.html