这是我的 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/