繁体   English   中英

在 CMake 中将 gtest 构建为共享库 (dll)

[英]Build gtest as shared library (dll) in CMake

CMake我之前没有接触过,菜鸟犯错请见谅。 以下大部分工作框架都是我的项目组给我的。 目标是将 GoogleTest 构建成 a.dll,以用于我们项目的不同、独立的部分。 我无法以正确的方式设置 CMake。

到目前为止的工作流程是:

  1. 从 git 克隆 gtest --> 同时下载一个 CMake 列表文件
  2. 改变CMakeCache.txt中的变量,让它生成一个 Code::Blocks 项目文件
  3. 在 Code::Blocks 中编译项目文件

至此,生成了一个static的库(.a文件),可以在我们的项目中使用。 我在生成 .dll 文件时遇到问题。 我尝试更改的变量:

  • BUILD_SHARED_LIBS:BOOL=ON --> Code::Blocks 生成的文件现在有一个.dll.a 双扩展名
  • CMAKE_C_FLAGS和所有相应的 C++ 标志设置为-DGTEST_CREATE_SHARED_LIBRARY=1如此给出
  • CMAKE_EXE_LINKER_FLAGS已设置为 -shared 以使-shared产生 .dll 文件

我已经在此处此处浏览了 GoogleTest 文档,但在这两个文档中,将其构建到 a.dll 中只是一个两句主题。

正如@Tsyvarev 指出的那样, .dll文件是在一个(非常)不同的文件夹中创建的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM