linux cmake 怎么添加多条库路径
时间: 2023-07-08 08:55:41 浏览: 219
在 CMake 中,可以使用 `link_directories()` 命令来指定库文件的搜索路径。可以多次调用该命令来添加多条库路径,例如:
```
link_directories(/path/to/library1 /path/to/library2)
```
这将在链接时搜索 `/path/to/library1` 和 `/path/to/library2` 目录下的库文件。
另外,如果需要链接的库文件是由某个子目录下的 CMakeLists.txt 文件生成的,可以使用 `add_subdirectory()` 命令将该子目录添加到当前项目中,然后在当前 CMakeLists.txt 文件中使用 `target_link_libraries()` 命令链接该子目录生成的库文件。例如:
```
add_subdirectory(/path/to/library1)
target_link_libraries(my_target library1)
```
这将在链接 `my_target` 时链接 `/path/to/library1` 目录下生成的库文件。
相关问题
linux cmake 怎么添加静态库
在 CMake 中,可以使用 `add_library()` 命令来添加静态库。下面是添加静态库的步骤:
1. 首先,在 CMakeLists.txt 文件中使用 `add_library()` 命令来定义静态库名称和库文件的源代码文件列表,例如:
```
add_library(my_static_lib STATIC file1.cpp file2.cpp)
```
这将创建一个名为 `my_static_lib` 的静态库,并将 `file1.cpp` 和 `file2.cpp` 编译成静态库文件。
2. 接下来,如果需要将该静态库链接到一个可执行文件或者另一个库中,可以使用 `target_link_libraries()` 命令来链接该静态库,例如:
```
add_executable(my_executable main.cpp)
target_link_libraries(my_executable my_static_lib)
```
这将创建一个名为 `my_executable` 的可执行文件,并将 `my_static_lib` 静态库链接到该可执行文件中。
注意:在 Windows 平台上,CMake 生成的静态库文件扩展名为 `.lib`,而在 Linux 平台上,扩展名为 `.a`。在使用 `target_link_libraries()` 命令时,CMake 会自动根据当前平台选择正确的库文件扩展名。
linux cmake 怎么添加动态库
要在CMake中添加动态库,可以使用以下命令:
```
add_library(my_lib SHARED path/to/my_lib.cpp)
```
其中,my_lib是动态库的名称,path/to/my_lib.cpp是动态库的源文件路径。
如果动态库已经编译好了,可以使用以下命令添加:
```
target_link_libraries(my_target /path/to/my_lib.so)
```
其中,my_target是需要链接动态库的目标文件名,/path/to/my_lib.so是动态库的路径。注意,动态库的文件扩展名通常为.so。