我有一个简单的.cpp文件,如下所示:
void showMenu()
{
std::cout << "Hi!";
}
int main()
{
showMenu();
return 0;
}
此外,我有一个空的Google测试,看起来像这样:
TEST(Name, SubName)
{
}
当我尝试编译时,我得到:
multiple definition of `showMenu()'
和:
multiple definition of `main()'
错误。 如何设置我的配置,以便我去时可以运行我的主程序,而我想要时可以运行我的google-test,而又不会互相冲突?
答案 0 :(得分:1)
googletest库已经包含main()
的定义。
要解决此问题,请将showMenu()
的定义分离到另一个库中,然后将其分别链接到testrunner和生产性可执行文件。
也不要#include
用测试代码.cpp
文件。