linux cmak 使用 install 如果使用了外部库 是通过link_directories引入的
时间: 2024-02-10 08:10:58 浏览: 117
如果你的项目使用了外部库,而且是通过 `link_directories` 命令来引入的,那么在安装时需要将这些库文件一起安装。可以使用 CMake 的 `install` 命令的另一个形式来安装外部库文件。
`install` 命令的语法如下:
```
install(FILES <file> DESTINATION <dir>)
```
其中 `<file>` 是要安装的文件,可以是库文件、头文件等;`<dir>` 是安装的目标路径,可以是系统目录、用户目录等。
举个例子,假设我们的项目使用了一个名为 `libfoo.so` 的库文件,我们可以使用以下 CMakeList.txt 文件来构建和安装:
```
cmake_minimum_required(VERSION 3.0)
project(MyApp)
add_executable(myapp main.cpp)
link_directories(/path/to/libfoo)
target_link_libraries(myapp foo)
install(TARGETS myapp DESTINATION /usr/local/bin)
install(FILES /path/to/libfoo/libfoo.so DESTINATION /usr/local/lib)
```
这个 CMakeList.txt 文件中,我们使用 `link_directories` 命令将 `/path/to/libfoo` 目录添加到链接路径中,并使用 `target_link_libraries` 命令将 `foo` 库链接到 `myapp` 可执行文件中。在安装时,使用 `install` 命令将 `myapp` 可执行文件安装到 `/usr/local/bin` 目录下,将 `libfoo.so` 库文件安装到 `/usr/local/lib` 目录下。
使用 CMake 构建项目时,运行 `make install` 命令即可将编译生成的文件和外部库文件一起安装到指定目录。
阅读全文