使用Eclipse和GCC在Debug / Release Output中复制或保留.o文件

时间:2012-03-30 04:10:11

标签: eclipse gcc object-files

我有一个包含对象(.o)文件的库项目。我有以下post build命令,以确保该文件包含在构建中:

ar -r libProject.a AdHocObject.o

然而,这意味着我必须在Debug和Release中手动复制我的AdHocObject.o文件,我永远无法清理项目,或者我需要重新开始并在Debug和Release中复制AdHocObject.o。

当我有第二个使用库(作为Include)并重建它的项目时,这变得更加麻烦,确保首先擦除AdHocObject.o。

我在这里有点失落。我想可能会有各种各样的方式,但我找不到它们。我可以:

  • 让第二个项目不重建库,但我不知道如何;
  • 让库在调试和发布中保留AdHocObject.o,但我不知道如何;
  • 添加一个pre-build命令将AdHocObject.o复制到输出文件夹(Debug或Release),但是......你猜对了。

这些行动是否可行,如果不止一个,推荐的方法是什么?

2 个答案:

答案 0 :(得分:1)

enter image description here好吧,我真的想问为什么,但这里是如何复制文件。右键单击该项目,然后选择“属性”。转到C / C ++ Build部分,然后选择Settings。然后在右侧面板上单击“构建步骤”选项卡。在预构建命令:框中,您将要发出类似以下内容的复制命令(或者您也可以使用相对路径和环境变量来指定from和to。)

cp "C:\SourceDir\AdHocObject.o" "C:\DestDir\AdHocObject.o"

答案 1 :(得分:0)

我知道了,我只需要指向正确的位置,将o文件放在源代码中并调整post build命令:

ar -r libProject.a ..\AdHocObject.o