【发布时间】:2020-09-07 02:58:23
【问题描述】:
根据lazyfoos sdl教程 https://lazyfoo.net/tutorials/SDL/01_hello_SDL/linux/cli/index.php 我设置了sdl2。 (它使用给定的终端命令运行) "g++ 01_hello_SDL.cpp -w -lSDL2 -o 01_hello_SDL"
我不记得-lsdl2 标志,我不知道为什么我必须使用它。 我也无法理解为什么 gcc 已经知道像 -lsdl2 这样的 SDL realatet 选项。
人们怎么知道他们必须使用这个标志?我找不到任何有用的东西,人们似乎只是把它当作事实,教程没有说明为什么要这样做。
希望有人有时间,如果我能获得知识,下次自己建立其他库,我会很高兴
【问题讨论】:
-
-lSDL2表示 “链接名为libSDL2.a的静态库”。所以不,GCC 不知道 SDL 是什么。 -
@HolyBlackCat 是迂腐的,它并不一定意味着静态(大多数系统的默认值是动态的,如果没有找到动态库则回退到静态)。