安装CLion很简单,流程和JetBrains的其他IDE基本是一样的,只是最后需要配置一下工具链。我使用的是Cygwin。
安装Cygwin的教程网上有很多,cmake
,make
,gcc
/clang
, gdb
/lldb
这些是必须要安装的组件。
打开Cygwin,找一个合适的位置,将GoogleTest的最新源码克隆到本地,然后进行编译和安装。
git clone https://github.com/google/googletest.git
cd googletest/googletest
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_CXX_FLAGS="-std=c++14" ..
因为默认的安装位置/usr/local
不在链接器的默认搜索路径中,-DCMAKE_INSTALL_PREFIX=/usr
是为了将安装位置设为/usr
。
也可以将其加入链接器的搜索路径,就可以使用默认的安装路径了。
需要注意的是,如果CLion中要使用clang
而不是gcc
,则在编译GoogleTest
的时候也要使用clang
:
在cmake命令中添加: -D CMAKE_CXX_COMPILER=clang++ -D CMAKE_C_COMPILER=clang -DCMAKE_CXX_FLAGS="-std=c++14 -stdlib=libc++" -DCMAKE_EXE_LINKER_FLAGS=-lc++abi
即可(也可以不指定stdlib
,但测试的c++
项目也不能使用libc++
。
新建一个C++ project,假设将源代码和测试代码分别放在src
和test
中。
CMakeLists.txt
cmake_minimum_required(VERSION 3.6)
project(MyProject)
include_directories(${PROJECT_SOURCE_DIR}/src)
#使用clang作为编译器(需要保证GoogleTest使用相同的编译器编译的)
SET(CMAKE_C_COMPILER /usr/bin/clang)
SET(CMAKE_CXX_COMPILER /usr/bin/clang++)
#如果使用的是gcc编译器(默认选项),需要将'-std=c++14'改为'-std=gnu++14'
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Werror -std=c++14")
add_subdirectory(src)
add_subdirectory(test)
src/CMakeLists.txt
cmake_minimum_required(VERSION 3.6)
add_library(xxx xxx.cpp)
test/CMakeLists.txt
cmake_minimum_required(VERSION 3.3)
find_package(GTest REQUIRED)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread")
add_executable(test_xxx test_xxx.cpp)
target_link_libraries(test_xxx gtest)