g++ 在创建共享对象时无法 link 库

g++ fails to link libraries while creating a shared object

我正在尝试为我的引擎创建一个静态库。 命令(在 makefile 中)是:

g++ -c -fPIC window.cc -lGL -lGLEW -lSDL2 -std=c++14 -I../include/ && g++ -static window.o -lSDL2 -lGL -lGLEW -o ../distribute/so/window.so

因此,第一个命令编译成功,但另一个命令输出:

/usr/bin/ld: cannot find -lGL
/usr/bin/ld: cannot find -lGLEW
collect2: error: ld returned 1 exit status

但我确实需要这些论据。我们可以修复它吗?

您需要知道要 link 编辑的库文件的确切路径。 包含它们的目录应该添加到 link 行 -L.