Копирование или сохранение файла .o в выходных данных отладки / выпуска с Eclipse и GCC - PullRequest
1 голос
/ 30 марта 2012

У меня есть проект библиотеки, который включает файл объекта (.o). У меня есть следующая команда после сборки, чтобы убедиться, что файл включен в сборку:

ar -r libProject.a AdHocObject.o

Однако это означает, что мне нужно вручную скопировать файл AdHocObject.o в Debug and Release, и я никогда не смогу очистить проект, или мне нужно начать заново и скопировать AdHocObject.o в Debug and Release.

Это становится еще более хлопотным, когда у меня есть второй проект, который использует библиотеку (как «Включить») и перестраивает ее, следя за тем, чтобы AdHocObject.o был удален первым.

Я немного растерялся здесь. Я думаю, что могут быть разные способы, но я не могу их найти. Я мог бы:

  • Сделайте, чтобы второй проект не перестраивал библиотеку, но я не знаю как;
  • Заставить библиотеку хранить AdHocObject.o в Debug and Release, но я не знаю, как;
  • Добавьте команду предварительной сборки для копирования AdHocObject.o в выходную папку (Debug или Release), но ... вы уже догадались.

Возможны ли какие-либо из этих действий, и если их несколько, какой рекомендуемый подход?

Ответы [ 2 ]

1 голос
/ 30 марта 2012

enter image description here Ну, я действительно хочу спросить, почему, но вот как скопировать файл.Щелкните правой кнопкой мыши проект и выберите «Свойства».Перейдите в раздел C / C ++ Build и выберите там Настройки.Затем на правой панели нажмите на вкладку Build Steps.В поле Pre-build Command: вы захотите выполнить команду копирования примерно так (или вы также можете использовать относительные пути и переменные окружения, чтобы указать from и to.)

cp "C:\SourceDir\AdHocObject.o" "C:\DestDir\AdHocObject.o"
0 голосов
/ 30 марта 2012

Я понял, мне просто нужно указать правильное место, поместить файл o с исходными текстами и настроить команду post build следующим образом:

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