我一直在尝试设置 CPPUnitTest 来测试 C++ 项目。我遇到了一个错误,根据我尝试解决问题的方式,我有两个旋转错误。
我在 Visual Studio 的解决方案中有两个项目。一种用于测试,一种用于项目本身。我在尝试在测试项目中引用该项目时遇到了这些错误。
如果这样做,每当我尝试构造对象或调用函数时,都会收到 LNK2019(未解析的外部符号)错误:
#pragma once
#ifndef REFERENCE_H
#define REFERENCE_H
#include "../Stuff/Thing.h"
#include "../Stuff/OtherThing.h"
#endif
但是,如果我这样做,我会收到 LNK2005 (test2.obj: blahblahlblah is already defined in test1.obj) 错误,因为其中两个测试引用了它:
#pragma once
#ifndef REFERENCE_H
#define REFERENCE_H
#include "../Stuff/Thing.cpp"
#include "../Stuff/OtherThing.cpp"
#endif
删除其中一个测试可以解决后者 (.cpp) 的问题,但显然这不是很好。
我想我可能在路上的某个地方错过了一步,但我不确定它是什么。我确实将“项目”项目作为依赖项添加到测试中。
有没有人可以解决这个问题?