单选题
15、在ROS机器人操作系统中,CMake文件编写规则中,用于将库文件链接到目标文件的是哪条指令()。
A
addⱣⱤexecutable()
B
addⱣⱤlibrary()
C
addⱣⱤlink()
D
targetⱣⱤlinkⱣⱤlibraries()
答案解析
正确答案:D
解析:
**解析:**
在 ROS(Robot Operating System)开发中,底层构建系统通常使用 CMake。我们需要分析各个选项对应的 CMake 指令功能:
1. **A. `add_executable()`**
* **功能**:用于指定从一组源文件编译生成一个可执行文件(目标)。
* **作用**:它定义了“要生成什么”,但并不负责链接外部的库文件。
2. **B. `add_library()`**
* **功能**:用于指定从一组源文件编译生成一个库文件(如静态库 `.a` 或动态库 `.so`)。
* **作用**:它定义了“如何生成库”,而不是将库链接到其他目标。
3. **C. `add_link()`**
* **功能**:CMake 中**不存在**名为 `add_link()` 的标准指令。这是一个干扰项。
4. **D. `target_link_libraries()`**
* **功能**:用于将指定的库文件链接到某个目标(可以是可执行文件,也可以是另一个库)。
* **语法示例**:`target_link_libraries( ...)`
* **作用**:这是正确答案。在编写 `CMakeLists.txt` 时,当我们已经通过 `add_executable` 或 `add_library` 定义了目标后,必须使用此指令告诉编译器该目标依赖哪些库,以便在链接阶段将这些库包含进来。
**结论:**
用于将库文件链接到目标文件的指令是 `target_link_libraries()`。
故正确答案为 **D**。
题目纠错
新能源汽车大赛题库
