C++ 使用google测试框架编写单元测试时构造函数和其他成员函数的未解析符号

C++ 使用google测试框架编写单元测试时构造函数和其他成员函数的未解析符号,c++,visual-studio,unit-testing,googletest,C++,Visual Studio,Unit Testing,Googletest,在我的myLib.vcproj中有一个说myLib的库 它有等级 namespace mylibtuils{ struct DefaultHander: IHandler { DefaultHander():_mV1(0),_mV2(1), _mv3(4){ } ~DefaultHander(){} protected: int _mV1,_mV2, _mv3; bool _

在我的myLib.vcproj中有一个说myLib的库 它有等级

namespace mylibtuils{

    struct DefaultHander: IHandler
    {

         DefaultHander():_mV1(0),_mV2(1), _mv3(4){  
         }
         ~DefaultHander(){}
    protected:
         int _mV1,_mV2, _mv3;
         bool _mflag1;
    public:
         void updateSettings(wstring xmlSourceFile);
    };

}
我需要使用google测试框架编写单元测试。因此,我创建了另一个项目myLib_UT.vcproj,添加对gtest和myLib的引用 它有一个简单的代码

GTEST_API_ int main(int argc, char **argv) {
    printf("Running main() from gtest_main.cc\n");
    testing::InitGoogleTest(&argc, argv);
    RUN_ALL_TESTS();
}

TEST(updateSettingstestcase, Positive)
{
    mylibtuils::DefaultHander _handler;

    wstring xmlSourceFile(L"D:\\testfile.xml");
    _handler.updateSettings(xmlSourceFile);
    ASSERT_TRUE(xmlSourceFile != L"");
}
当我构建它时,它表示构造函数的未解析符号

是否无法测试类是否位于单独的dll中? 我可以把所有的文件都添加到我的unittest项目中,但我最终会添加myLib所依赖的文件


请告知我如何解决此问题

当然,您可以在google test中测试来自不同库的类。你能具体说明你到底遇到了什么样的错误吗?不幸的是,根据您提供的代码,我无法推断出任何东西。您能试着提供吗?一般来说,我建议不要使用以下划线开头的标识符。它们处于一系列的情况下,通过不以下划线开头任何标识符,可以更容易地避免任何冲突。确保实现了所有方法,并且导出了DLL外部所需的符号。当然,您可以在google test中测试来自不同库的类。你能具体说明你到底遇到了什么样的错误吗?不幸的是,根据您提供的代码,我无法推断出任何东西。您能试着提供吗?一般来说,我建议不要使用以下划线开头的标识符。它们处于一系列的情况下,不以下划线开头任何标识符更容易避免任何冲突。请确保实现所有方法,并导出DLL外部所需的符号。