Kon*_*kin 2 c++ cmake llvm-clang address-sanitizer
我正在尝试使用带有-fsanitize = address选项的clang编译最简单的可执行文件。直接使用clang做到这一点非常简单。但是我的意思是通过CMake做到这一点。
我正在做这件事。CMakeLists.txt文件:
cmake_minimum_required(VERSION 3.5.1 FATAL_ERROR)
project(TestSanitizer VERSION 0.1.0 LANGUAGES CXX)
add_executable(Test main.cpp)
target_compile_options(Test PUBLIC
-std=c++17
-Werror
-Weverything
-Wno-c++98-compat
-Wno-c++98-c++11-c++14-compat
-Wno-c++98-compat-pedantic
-fsanitize=address)
Run Code Online (Sandbox Code Playgroud)
main.cpp:
int main(int, const char**) { return 0; }
Run Code Online (Sandbox Code Playgroud)
使用bash脚本(config_gen_build.sh)进行配置和制作:
if [ -d "bin" ]; then
rm -rf bin
fi
mkdir bin
cd bin
#config and gen
export CC=/usr/bin/clang-5.0
export CXX=/usr/bin/clang++-5.0
cmake ./../
#build
make
Run Code Online (Sandbox Code Playgroud)
怎么了 我应该链接一些图书馆吗?