博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ubuntu下cmake 使用clang
阅读量:6452 次
发布时间:2019-06-23

本文共 1790 字,大约阅读时间需要 5 分钟。

安装llvm、clang

sudo apt-get install llvm clang

clang命令会在/usr/bin/clang

cmake配置交叉编译链

建立linux.toolchain.cmake文件

cmake_minimum_required( VERSION 2.6.3 )set(CMAKE_SYSTEM_NAME Linux )SET (CMAKE_C_COMPILER             "/usr/bin/clang")SET (CMAKE_C_FLAGS                "-Wall -std=c99")SET (CMAKE_C_FLAGS_DEBUG          "-g")SET (CMAKE_C_FLAGS_MINSIZEREL     "-Os -DNDEBUG")SET (CMAKE_C_FLAGS_RELEASE        "-O4 -DNDEBUG")SET (CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g")SET (CMAKE_CXX_COMPILER             "/usr/bin/clang++")SET (CMAKE_CXX_FLAGS                "-Wall")SET (CMAKE_CXX_FLAGS_DEBUG          "-g")SET (CMAKE_CXX_FLAGS_MINSIZEREL     "-Os -DNDEBUG")SET (CMAKE_CXX_FLAGS_RELEASE        "-O4 -DNDEBUG")SET (CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g")SET (CMAKE_AR      "/usr/bin/llvm-ar")SET (CMAKE_LINKER  "/usr/bin/llvm-ld")SET (CMAKE_NM      "/usr/bin/llvm-nm")SET (CMAKE_OBJDUMP "/usr/bin/llvm-objdump")SET (CMAKE_RANLIB  "/usr/bin/llvm-ranlib")

cmake命令引入交叉编译配置即可

cmake  -DCMAKE_TOOLCHAIN_FILE=${CURRENT_SCRIPT_DIR}/linux.toolchain.cmake  .

此时会显示下面一些东西,表示编译器已经换成了clang

-- The C compiler identification is Clang 3.8.0-- The CXX compiler identification is Clang 3.8.0-- Check for working C compiler: /usr/bin/clang-- Check for working C compiler: /usr/bin/clang -- works-- Detecting C compiler ABI info-- Detecting C compiler ABI info - done-- Detecting C compile features-- Detecting C compile features - done-- Check for working CXX compiler: /usr/bin/clang++-- Check for working CXX compiler: /usr/bin/clang++ -- works-- Detecting CXX compiler ABI info-- Detecting CXX compiler ABI info - done-- Detecting CXX compile features-- Detecting CXX compile features - done

注意: 如果已经运行过cmake,要先将cmake生成的文件删掉。

转载请注明http://www.cnblogs.com/stonehat/

转载于:https://www.cnblogs.com/stonehat/p/7000637.html

你可能感兴趣的文章
第三篇:白话tornado源码之请求来了
查看>>
表示数值的字符串
查看>>
JQUERY AJAX请求
查看>>
html css 伪样式
查看>>
超级账本Fabric区块链用弹珠游戏Marbles 部署
查看>>
整理Java基础知识--选择与判断
查看>>
Linux查看程序端口占用情况
查看>>
jar包冲突案例分析.md
查看>>
控制圈复杂度的9种重构技术总结
查看>>
当软件项目全部能靠自己搞定了,也能接几万元的软件项目时,未必适合创业...
查看>>
数据分析--数字找朋友
查看>>
推荐好用的开源库或软件
查看>>
18年selenium3+python3+unittest自动化测试教程(下)
查看>>
Redis集群中删除/修改节点(master、slave)(实验)
查看>>
memcache数据库和redis数据库的区别(理论)
查看>>
我的友情链接
查看>>
MyBatis+Spring结合
查看>>
Office 365之SkyDrive Pro
查看>>
脑残式网络编程入门(二):我们在读写Socket时,究竟在读写什么?
查看>>
无缝滚动实现原理分析【公告栏】
查看>>