在C ++ Visual Studio中转换CPPUnitTest中的LNK2005 / LNK2019错误

时间:2016-04-27 17:30:31

标签: c++ visual-studio lnk2019 cppunit lnk2005

我一直在尝试设置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已在test1.obj中定义)错误,因为有两个测试引用它:

#pragma once
#ifndef REFERENCE_H
#define REFERENCE_H
#include "../Stuff/Thing.cpp"
#include "../Stuff/OtherThing.cpp"
#endif

删除其中一个测试修复了后者(.cpp)的问题,但显然这不是很好。

我想我可能错过了一路上的某个步骤,但我不确定它是什么。我确实将“项目”项目添加为测试的依赖项。

有没有人能解决这个问题?

0 个答案:

没有答案