根据lazyfoos sdl教程https://lazyfoo.net/tutorials/SDL/01_hello_SDL/linux/cli/index.php我设置了sdl2。 (并且使用给定的Terminal命令运行)“ g ++ 01_hello_SDL.cpp -w -lSDL2 -o 01_hello_SDL”
我不记得-lsdl2标志,我不知道为什么我必须使用它。我也无法理解为什么gcc已经知道像-lsdl2这样的SDL realatet选项。
人们如何知道他们必须使用此标志?我找不到任何有用的方法,人们似乎只是将其视为事实,而教程并没有说明为什么这样做。
希望有人有时间这样做,如果我下次可以自己建立其他库,我会很高兴
专业人士无需记住编译器和链接器标志。他们使用跨平台的pkgconfig
pkg-config --cflags --libs sdl2
例如,可以在外壳中使用
g++ 01_hello_SDL.cpp -w -o 01_hello_SDL `pkg-config --cflags --libs sdl2`