1

我正在试验 OpenDDS(和 ACE/TAO),它使用 MPC(Make Project Creator)来生成实际的 make 文件,它正在做一些非常烦人的事情。

首先,它生成大量中间源文件(一些 IDL 和 c++ 头文件/实现),并将它们与手动创建的 IDL 和 C++ 文件放在同一目录中。我想让手动创建的文件和生成的文件位于不同的目录中,因为所有生成的文件都会分散注意力。有没有办法做到这一点?

其次,让我运行“make clean”它会清理生成的目标文件,但不会清理生成的源文件。有没有办法让它清理所有生成的文件?

4

1 回答 1

2

要删除所有生成的文件(使用 make 文件时),只需执行“make realclean”即可。'make clean' 简单地清理 C++ 编译产品(目标文件、库和可执行文件),而 'make realclean' 删除所有生成的文件。

更改生成文件的输出目录可能不是您真正想做的事情。是的,大量生成的 IDL 和 C++ 有时确实会妨碍您,但过一段时间您就会学会忽略它们。如果您对此一无所知,一种间接的方法是使用 MPC 附带的 clone_build_tree.pl 脚本。此脚本创建一个新目录(在 build/xxx 下),其中包含指向所有源文件的符号链接。然后,您在那里进行构建,使原始源目录保持原始状态。这是一个简化的示例(假设 ACE、TAO 和 MPC 已设置):

  1. 光盘 DDS
  2. $MPC_ROOT/clone_build_tree.pl 测试
  3. cd 构建/测试
  4. 导出 DDS_ROOT=`pwd`
  5. 使用正常的 Open DDS 指令构建...
于 2011-06-15T23:27:18.957 回答