【发布时间】:2018-04-03 09:06:25
【问题描述】:
我正在尝试在 64 位 CentOS 7.2 上构建和安装一个库。为此,我正在跑步
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ ..
sudo make install
当我运行上述命令时,我发现安装的库位于/usr/lib 而不是/usr/lib64。理想情况下,当我在 64 位 Linux 机器上编译时,安装目录是 /usr/lib64。
【问题讨论】:
-
在 Fedora 的问题跟踪器中查看 config.site for vendor libs on Fedora x86_64、Incorrect @libdir@ when building *.pc using config.site? 和 Issue 1510073, Autoconf does not honor libdir in config.site for "libdir= @libdir@" in *.pc file。 Red Hat 驱动 Fedora 和 CentOS,因此它适用于所有这些。听起来 CMake 和 Autotools 有同样的麻烦。
-
这取决于它安装东西的项目。如果项目使用GNUInstallDirs CMake 模块,您可以调整
LIBDIR变量以更改库的安装目录:cmake -DLIBDIR=/usr/lib64 <... other-cmake-parameters>。 -
@Tsyvarev 你很接近,但变量名实际上是
CMAKE_INSTALL_LIBDIR