在 Visual Studio DLL 项目中编译 google test 时要导出哪些函数/类(以及如何以智能方式导出它们)

问题描述 投票:0回答:1

我用google测试源成功编译了一个Visual Studio 2022 DLL项目。 (有关更多详细信息,请参阅在 Visual Studio 2022 中将 google 测试构建为 DLL 链接错误。)

目前,没有生成任何lib文件,因为我不导出任何函数/类,当然我需要至少导出与测试用例、夹具和参数化测试相关的函数,但仔细查看后,会这样做“线性地”(意思是,

__declspec(dllexport)
每个需要的类/函数)似乎是一项艰巨的任务。有一个聪明的方法来做到这一点吗? (因为它毕竟不太适合 googletest。)

c++ dll googletest
1个回答
0
投票

您的实际问题仍然是“如何构建GoogleTest DLL”。您在帖子中提出的问题是 XY 问题 - 您没有正确构建 DLL,但您考虑修改 GoogleTest 源而不是调整正确的构建设置。

当你在VS中构建gtest.dll并且不使用cmake时,你应该在编译器设置的项目清单中设置宏

GTEST_CREATE_SHARED_LIBRARY=1


建议:如果您不想处理

vcpkg install gtest
,请使用
vcpkg add port gtest
cmake

© www.soinside.com 2019 - 2024. All rights reserved.