希望这对像我这样的人是有帮助的,这些人对Linux来说是新手,并且没有发现与Linux相关的任何东西特别明显。
正如talonmies所述,我无法间接链接,因此需要指定我正在使用的库所需的任何其他库。也就是说,如果我链接需要库B和C的库A,则需要链接所有三个库以使程序正确链接。
为了找到需要的其他库,我使用了
pkg-config命令,在这里找到了指南。运行
pkg-config --print-requires --print-requires-private glfw3给出以下输出,这是glfw3所需的软件包的列表。
x11xrandrxixxf86vmgl
然后,我可以通过运行
pkg-config --libs,之后加上库的名称来找到需要包含的库。例如,
pkg-config --libsx11yield
-lX11。
注意:您可以将多个项目传递
pkg-config为输入,因此运行
pkg-config --libs $(pkg-config --print-requires --print-requires-private glfw3)
将打印出您需要链接(
-lX11 -lXrandr -lXi -lXxf86vm -lGL)的所有其他库。
我的程序现在成功链接了,希望对有类似问题的任何人都有用。



