Eclipse C++ Makefile проекта вывода
У меня есть C++ Makefileproject для eclipse, если я его создаю, бинарный файл находится в корне проекта. Как я могу изменить каталог сборки на {ROOT}/bin?
Я попробовал свойства проекта -> c/ C++ Build -> Build location (Build directory: MY PATH), но он не может скомпилироваться вообще.
1 ответ
Вы используете Makefile-Project. Все, что нужно сделать, в том числе куда поместить исполняемый файл, должно быть написано вами в Makefile! Eclipse просто запускает сборку, вызывая make.
Простой пример:
CXXFLAGS= -g -O0
CXX=g++
all: bin bin/test
bin/test: bin/test.o
$(CXX) -o bin/test bin/test.o
bin/test.o: test.cpp
$(CXX) $(CXXFLAGS) -o bin/test.o -c test.cpp
bin:
mkdir bin
clean:
rm bin/test.o
rm bin/test
Из этого источника я узнал, как написать Makefile: http://www.eng.hawaii.edu/Tutor/Make
Простые Makefiles удобны для проектов с небольшим количеством файлов. После того, как вас укусил segfault из-за отсутствия перекомпиляции (забыл указать заголовочный файл в.o: dependencies), вы должны перейти к полноценной системе сборки, такой как cmake. cmake генерирует Makefiles для вас, но важно понимать основы Makfiles для интерпретации сообщений об ошибках.