cmake - 为dlib创建共享库

标签 cmake shared-libraries dlib

按照说明使用cmake(here)编译dlib会生成一个静态dlib库:

cd examples
mkdir build
cd build
cmake ..
cmake --build . --config Release

如何指示cmake生成共享(.so)库?

最佳答案

如果要创建.so文件,请执行以下操作:

cd dclib/dlib
mkdir build
cd build
cmake -DBUILD_SHARED_LIBS=1 ..
make
sudo make install

在UNIX系统上,这将在整个系统上安装dlib。这意味着安装.so文件以及头文件,以便您可以使用g++ main.cpp -ldlib这样的命令来编译程序。最后,在linux系统上,安装任何新的共享库后,您还需要运行sudo ldconfig

但是,对于大多数用户,我建议使用CMake,如示例所示。这样一来,您既可以在需要时启用或禁用 Debug模式,也可以简化以源代码形式和编译形式进行项目的分发。例如,如果您想在Windows上进行编译,则共享库绝对不是可行的方法。此外,如示例中所示使用CMake总是可以直接进行,无需任何设置。

关于cmake - 为dlib创建共享库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33996361/

相关文章:

python-3.x - Windows 10 中的 Dlib ImportError on line _dlib_pybind11 import *, DLL Load Failed

cmake - cmake中find_dependency和find_package的区别?

c++ - 海湾合作委员会,C++ : static string member variarible causes heap corruption/segmentation fault

c++ - STL 和发布/调试库一团糟

python - 在 Windows 10 上使用 pip 安装 dlib 失败

python - 如何在 Mac 上安装 Python 的 dlib?

cmake - 是否可以将安装后命令添加到 CMake 生成的顶级 Makefile 中?

c++ - 使用 CMake 编译其他外部库(没有 CMakeLists.txt)

c++ - CMake:制作目标后如何写入文件?

android - 在 Android Studio 中使用预构建库和 jni