You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Visual Studio DLL项目中编译Google Test时,如何巧妙导出所需的函数与类?

在Visual Studio DLL项目中编译Google Test时,如何巧妙导出所需的函数与类?

兄弟,我完全懂你这种不想一个个手动加导出标记的痛苦——手动给GTest的每个类、函数加__declspec(dllexport)确实是个噩梦,还好Google Test官方早就想到了这个场景,给我们准备了现成的解决方案,根本不用挨个去标记!

你只需要借助GTest内置的预处理器宏就能搞定:

  • 第一步:在你的GTest DLL项目中设置导出宏
    打开项目属性,找到「C/C++」→「预处理器」→「预处理器定义」,添加GTEST_CREATE_SHARED_LIBRARY这个宏。这个宏会自动让GTest框架把所有必要的类、函数(包括测试用例、夹具、参数化测试相关的核心接口)标记为__declspec(dllexport),编译后就能生成对应的.lib文件了。

  • 第二步:在引用该DLL的测试项目中设置导入宏
    如果你有单独的测试项目需要链接这个GTest DLL,同样在测试项目的预处理器定义里添加GTEST_LINKED_AS_SHARED_LIBRARY。这个宏会让GTest把这些核心接口标记为__declspec(dllimport),确保测试项目能正确链接到DLL中的符号。

这样一套操作下来,你完全不用手动去逐个导出GTest的内容,官方已经帮我们封装好了所有需要的导出逻辑,既符合GTest的设计规范,又能省掉大量重复劳动。

备注:内容来源于stack exchange,提问作者11house

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.16 10:20:32