我用google测试源成功编译了一个Visual Studio 2022 DLL项目。 (有关更多详细信息,请参阅在 Visual Studio 2022 中将 google 测试构建为 DLL 链接错误。)
目前,没有生成任何lib文件,因为我不导出任何函数/类,当然我需要至少导出与测试用例、夹具和参数化测试相关的函数,但仔细查看后,会这样做“线性地”(意思是,
__declspec(dllexport)
每个需要的类/函数)似乎是一项艰巨的任务。有一个聪明的方法来做到这一点吗? (因为它毕竟不太适合 googletest。)
您的实际问题仍然是“如何构建GoogleTest DLL”。您在帖子中提出的问题是 XY 问题 - 您没有正确构建 DLL,但您考虑修改 GoogleTest 源而不是调整正确的构建设置。
当你在VS中构建gtest.dll并且不使用cmake时,你应该在编译器设置的项目清单中设置宏
GTEST_CREATE_SHARED_LIBRARY=1
。
建议:如果您不想处理
vcpkg install gtest
,请使用 vcpkg add port gtest
或 cmake
。