我有一个非常基本的 CMake 项目,它使用 Google Test。我想将其构建为 dll,并且 gtest 中的 CMakeLists.txt 文件表明BUILD_SHARED_LIBS
需要进行设置才能将 gtest 构建为共享库。
我的问题是我不知道如何设置BUILD_SHARED_LIBS
才能显示它。如果我使用 cmake-gui 在缓存中设置值,那么我确实会看到生成的构建尝试创建 dll。
下面是我的 CMakeLists.txt。我将不胜感激任何有关如何设置 BUILD_SHARED_LIBS 的建议。
CMAKE_MINIMUM_REQUIRED(VERSION 3.0 FATAL_ERROR)
PROJECT(MyProj)
SET(BUILD_SHARED_LIBS ON)
ADD_EXECUTABLE(MyProj main.cpp)
ADD_LIBRARY(MyLib STATIC mylib.cpp)
TARGET_LINK_LIBRARIES(MyProj MyLib)
ADD_SUBDIRECTORY(gtest-1.7.0)
Run Code Online (Sandbox Code Playgroud)
如果设置了 BUILD_SHARED_LIBS,Google Test 只会构建为共享库 (DLL)。因此我想在这个 CmakeLists.txt 文件中设置它。我知道如何共享我自己的库,但我不知道如何以 gtest CMakeLists.txt 文件看到的方式设置该变量。
在你的代码中
ADD_LIBRARY(MyLib STATIC mylib.cpp) // Your code STATIC lib
Run Code Online (Sandbox Code Playgroud)
将上面的行更改为此
ADD_LIBRARY(MyLib SHARED mylib.cpp) // Shared Lib is added
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
10534 次 |
最近记录: |