What is the difference between build dependency and runtime dependency
有人告诉我构建依赖项和运行时依赖项是不同的。 但是我不知道为什么。 如果在构建时需要某种依赖关系,我们是否也不能说运行必需? 如果在运行时需要某种依赖关系,我们是否也不能说它是构建所必需的?
我正在学习ROS并阅读此链接:http://wiki.ros.org/catkin/package.xml
我发现有
对于许多(我会说大多数)包,如果它是一个依赖项,那么它既是构建依赖项,又是运行时依赖项。然而,这并非总是如此。一个值得注意的例子是,当您在包中创建新消息时,在package.xml中将
1 2 | <build_depend>message_generation</build_depend> <exec_depend>message_runtime</exec_depend> |
这是因为在构建时,您需要
同样,
这些不同的依赖项标签使您可以更好地控制依赖项的管理。有一个包罗万象的标记
该页面概述了package.xml标记和相关的CMakeLists.txt信息。