安装后共享对象去了哪里以及如何找到它们的名称

安装后共享对象去了哪里以及如何找到它们的名称

我刚刚使用以下命令安装了 SFML 库:apt-get install sfml-dev

安装后,我进入我的/usr/lib文件夹查找实际共享对象的名称是什么(这样我就知道告诉我的编译器要使用什么)。

但那里的名称中没有任何“SFML”的内容。

然而,我的 /usr/include 目录中有一个 SFML 文件夹。

那么,如果共享对象文件不在我的/usr/lib目录中,它们在哪里?

我怎样才能找到它们,以便我可以弄清楚告诉编译器使用什么?

g++ *.cpp -o exe -l

答案1

gcc -print-search-dirs

显示编译器使用的所有搜索路径。

dpkg -L libsfml-dev

显示该包安装的所有文件;要找到实际的库,尽管您需要dpkg -L在实际包含该库的包上运行(libsfml-dev具有许多库依赖项)。

无论如何,库/usr/lib/$(dpkg-architecture -qDEB_HOST_MULTIARCH)现在通常出现在 Debian 衍生品上,IE /usr/lib/x86_64-linux-gnu在常见的 64 位 PC 上。不过,您实际上不需要担心编译器,它已经知道在哪里可以找到库 - 您只需要弄清楚要-l为其提供哪些参数。

相关内容