[短版] 我的单元测试 c++ 项目中不能有两个同名的源文件,即使它们位于不同的文件夹中。g++ 和 make 彼此脾气暴躁。(或者也许我是愚蠢的)
[长版] 我的 make/g++/gtest 设置遇到了问题。当 g++ 自动生成依赖项时,它会生成如下内容:
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 。有没有办法强制 g++ 提供完整路径,或者我是否需要将测试文件的名称更改为:
test/src/os/event_handler_test.cpp
我无法在网上或文档中找到任何内容。