在其他项目VisualStudio中使用控制台应用程序类的C++类

在其他项目VisualStudio中使用控制台应用程序类的C++类,c++,visual-studio,linker,googletest,C++,Visual Studio,Linker,Googletest,我正试图在VisualStudio中为我的控制台应用程序在同一个解决方案中创建一个gtest项目。从新建项目向导创建此项目时,我可以选择要测试的项目。因此,我选择我的控制台应用程序。VisualStudio创建gtest项目后,我可以在引用下看到我的控制台项目。当我尝试示例测试用例时,一切都正常。但是当我开始从控制台应用程序中包含我的类时,我得到一个链接器错误,它说我的类上的一个符号是未解析的LNK_2019。我知道这通常意味着找到了该方法的declaration.h文件,但没有找到定义编译的.

我正试图在VisualStudio中为我的控制台应用程序在同一个解决方案中创建一个gtest项目。从新建项目向导创建此项目时,我可以选择要测试的项目。因此,我选择我的控制台应用程序。VisualStudio创建gtest项目后,我可以在引用下看到我的控制台项目。当我尝试示例测试用例时,一切都正常。但是当我开始从控制台应用程序中包含我的类时,我得到一个链接器错误,它说我的类上的一个符号是未解析的LNK_2019。我知道这通常意味着找到了该方法的declaration.h文件,但没有找到定义编译的.cpp文件。通常,如果出现此错误,我会将.lib文件添加到链接器设置中,但控制台应用程序似乎不会输出lib文件。在我的测试项目中,有没有办法在控制台应用程序中使用我的类?

您应该为测试设计应用程序

将应用程序拆分为两个项目。核心逻辑应该在静态库中实现。实际的命令行应用程序只是库中实现的逻辑的一个小外壳


现在可以创建与库链接的测试。请注意,这是一种通用模式,不限于gtest框架。

您应该为测试设计应用程序

将应用程序拆分为两个项目。核心逻辑应该在静态库中实现。实际的命令行应用程序只是库中实现的逻辑的一个小外壳

现在可以创建与库链接的测试。请注意,这是一种通用模式,不限于gtest框架