1

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

ar -r libProject.a AdHocObject.o

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

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

我在这里有点迷路了。我想可能有多种方法,但我找不到它们。我可以:

  • 使第二个项目不重建库,但我不知道如何;
  • 使库在调试和发布中保留 AdHocObject.o,但我不知道如何;
  • 添加预构建命令以将 AdHocObject.o 复制到输出文件夹(调试或发布),但是……您猜对了。

这些行动中的任何一种都可能吗?如果不止一种,推荐的方法是什么?

4

2 回答 2

1

在此处输入图像描述好吧,我真的很想问为什么,但是这里是复制文件的方法。右键单击项目并选择属性。转到 C/C++ Build 部分,然后在下面选择 Settings。然后在右侧面板上单击构建步骤选项卡。在 pre-build Command: 框中,您需要发出类似以下的复制命令(或者您也可以使用相对路径和环境变量来指定从和到。)

cp "C:\SourceDir\AdHocObject.o" "C:\DestDir\AdHocObject.o"
于 2012-03-30T04:37:22.143 回答
0

我明白了,我只需要指向正确的位置,将 o 文件与源代码放在一起,然后调整 post build 命令:

ar -r libProject.a ..\AdHocObject.o
于 2012-03-30T04:40:54.813 回答