using clang and cmake to build program

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010643777/article/details/84869488

 First, you should install clang, please take reference to [1].

sudo apt-get update
sudo apt-get install clang

 Install libc++ and libc++abi

sudo apt-get install libc++-dev
sudo apt-get install libc++abi-dev

 Write a test case.
test.cc

#include <iostream>
#include <vector>
#include <string>
using namespace std;

int main(){
std::string out=std::string("hello world");
std::cout<<out<<std::endl;
std::vector<int> vec;
vec.push_back(1);
printf("size %zu\n",vec.size());
return 0;
}

 Build with cmake.
CmakeLists.txt

PROJECT(project)
cmake_minimum_required(VERSION 2.6)
SET(CMAKE_BUILD_TYPE "Debug")
SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g2 -ggdb")
SET(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O3 -Wall")
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

add_compile_options("-stdlib=libc++" "-lc++abi" "-v")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -stdlib=libc++ -lc++abi")
add_definitions(-std=c++11)

set(EXECUTABLE_NAME "t_client")
add_executable(${EXECUTABLE_NAME} ${CMAKE_SOURCE_DIR}/test.cc)
target_link_libraries(${EXECUTABLE_NAME})
#cmake .. -DCMAKE_C_COMPILER=/usr/bin/clang -DCMAKE_CXX_COMPILER=/usr/bin/clang++

And the code can be downloaded at [2].

[1]https://askubuntu.com/questions/509218/how-to-install-clang
[2]https://github.com/SoonyangZhang/stupid_simple/tree/master/clang_cmake

猜你喜欢

转载自blog.csdn.net/u010643777/article/details/84869488