[короткая версия] Я не могу иметь два исходных файла с тем же именем в тестируемом модулем проекта C++, даже если они находятся в разных папках. g ++ и make являются грубыми друг с другом. (Или, может быть, я глуп)(make/g ++) включают полный путь для автоматически генерируемых целей зависимостей? (или обходной путь)
[длинная версия] У меня возникла проблема с моей установкой make/g ++/gtest. Когда г ++ автоматически генерирует зависимости, он создает что-то вроде этого:
event_handler.o: src/os/event_handler.h src/os/event.h
Но мне нужно что-то вроде этого (полный путь к цели):
src/os/event_handler.o: src/os/event_handler.h src/os/event.h
Причина заключается в том, когда у меня есть файл, как это :
src/os/event_handler.cpp // contains EventHandler class
у меня есть компаньон-файл, как это:
test/src/os/event_handler.cpp // contains EventHandlerTest unit test class
... так что их файлы .o также отображаются как event_handler.o в автогенерированном списке зависимостей. Есть ли способ, чтобы заставить г ++, чтобы дать полный путь или мне нужно изменить имена моих тестовых файлов на что-то вроде:
test/src/os/event_handler_test.cpp
Я не смог найти что-либо в Интернете или в документации.
Я бы посоветовал использовать имена типа 'event_handler_test.cpp' и, возможно,' event_stub.cpp', но вы также можете использовать полные пути; можете ли вы показать нам свой файл? – Beta