在VSCode中使用CMake构建gtest项目时遇到问题

时间:2020-05-04 14:13:23

标签: c++ visual-studio-code cmake googletest

我正在尝试配置我的VSCode以与googletest一起使用。我正在观看此视频1:1 https://www.youtube.com/watch?v=Lp1ifh9TuFI&t=677s&fbclid=IwAR38RJvHx-F-pPkrHNEgY8BKl7cZytwvKX3ISMzQZ1GfDhS5Qk1ARqnk9CU 我们从github克隆了googletest,我制作了视频中的每个文件,制作了相同的CMakeLists.txt文件(第一行除外,其中我将CMake的版本更改为我正在使用的版本是3.17.2)。

VSCode-1.44.2

CMake-3.17.2

对于“ CMake:选择一个工具包”,我选择了Visual Studio Enterprise 2019版本

当我开始构建该项目时,在最后一步:

[build] [14/14 92%:: 7.642]链接CXX可执行文件test \ ExampleTests.exe

我收到:

[构建]链接:致命错误LNK1104:无法打开文件“ Example.lib”

有人知道该怎么做吗?首先,当我尝试使用MINGw构建它时,它停止在第3步。用 Visual Studio工具链在这部分上失败了。

我有一个名为 Example 的文件夹(项目)。在该文件夹中:

  • .vscode
  • 构建
  • googletest(从github克隆)
  • 测试
    • CMakeLists.txt(下面该文件的内容)
    • ExampleTests.cpp(为空)
  • CMakeLists.txt(下面该文件的内容)
  • Example.cpp
  • Example.hpp

“测试”文件夹中的CMakeLists.txt:

cmake_minimum_required(VERSION 3.17.2)

set(This ExampleTests)

set(Sources
    ExampleTests.cpp
)

add_executable(${This} ${Sources})
target_link_libraries(${This} PUBLIC
    gtest_main
    Example
)

add_test(
    NAME ${This}
    COMMAND ${This}
)

“示例”文件夹中的CMakeLists.txt

cmake_minimum_required(VERSION 3.17.2)

set(This Example)

project(${This} C CXX)

set(CMAKE_C_STANDARD 99)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)

enable_testing()

add_subdirectory(googletest)

set(Headers
    Example.hpp
)

set(Sources
    Example.cpp
)

add_library(${This} STATIC ${Source} ${Headers})

add_subdirectory(test)

set_target_properties(${This} PROPERTIES LINKER_LANGUAGE CXX)    

0 个答案:

没有答案