compilation - 如何控制cmake的子目录编译顺序?

标签 compilation cmake subdirectory

这是我的 CMakeLists.txt:

ADD_SUBDIRECTORY(third)
ADD_SUBDIRECTORY(utils)
ADD_SUBDIRECTORY(rpc)

但是目录'rpc'将在目录'utils'之前编译,实际上'rpc'依赖于'utils',所以我会得到一个链接错误。

如何让“rpc”在“utils”之后编译?

谢谢。

最佳答案

当您使用target_link_libraries()时函数并向其传递其他目标名称,CMake 会自动将此目标设置为依赖项。您还可以使用add_dependencies()手动指定依赖项。

另请注意,源编译的顺序与您的问题无关。链接错误(我猜,您看到“ undefined reference ”错误)是因为您没有正确链接目标。

关于compilation - 如何控制cmake的子目录编译顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32781485/

相关文章:

Contiki,MSP430 : relocation truncated to fit symbols errors

c++ - 为什么简单的C++源文件的预处理文件包含数千行代码?

c++ - 如何链接由 cmake 在其他目录上生成的库?

visual-c++ - cmake - 从对象库中提取 pdb 文件

Angular 2 : assets not loaded when deployed in subdirectory

wordpress - htaccess : Redirect entire subfolder to root

Java 编译、包和相对路径

qt - cmake如何包含shaders.qrc

git - git 如何处理将另一个存储库克隆到子目录中?

linux - 为什么在 gcc 中覆盖 union 成员没有警告?