使⽤CLion在MacOS、Linux上编译C++代码
背景介绍:我们已经有⼀套代码在windows和android上编译通过了,⽬前需要将这些代码在MacOS和Linux上编成动态链接库,所以直接使⽤android的编译宏,少量修改即可正常编译。这⾥只是介绍如何使⽤CLion进⾏跨平台编译。
1.使⽤CLion的Import Project from Sources进⾏代码导⼊
2.只需要勾选源⽂件即可
导⼊后
3.修改
1)设定编译宏,通过add_definitions(-D宏定义)的⽅式,开启SQLITE3_EXPORTS、SQLITE_ENABLE_COLUMN_METADATA、SQLITE_ENABLE_RTREE宏
2)设定变量,通过set(变量名变量值)的⽅式,定义通⽤变量
3)不同平台加以区分
4)设定引⽤头⽂件⽬录
5)设定引⽤库⽂件⽬录
6)设定编译结果,add_executable则会编译成可执⾏⽂件,add_library则会编译成链接库,通过SHAED关键字声明为动态链接库(windows下为dll⽂件,MacOS下为dylib⽂件,Linux下为so⽂件),通过STATIC关键字声明为静态链接库(windows下为lib⽂件,MacOS和Linux下为a⽂件)
7)重命名编译结果,由于上⼀步设定了两个编译成果,⼀个是静态链接库,⼀个是动态链接库,编译成果是mzsqlite_shared.dylib和mzsqlite_static.a,不是想要的结果,需要将成果重命名成mzsqlite.dylib和mzsqlite.a
8)声明需要链接的库,sqlite没有依赖库,这⾥贴的是另外⼀个库的配置
9)重定位编译成果位置,⽬前没有到好的⽅法进⾏重新位,只是通过CLion->Preferences设置将编译成果保存到源代码所在⽬录下10)SQLite编译全貌
4.编译成果
1)设置编译条件,通过Run->Edit Configurations进⾏设置,可以设置编译⽬标、Release或是Debug等
cmake如何使用2)编译,通过Run->Build进⾏编译,在输出区进⾏错误、警告定位和处理
3)查看编译成果
5.在Linux上编译,基本上是将MacOS上配置好的拷到Linux上打开编译即可
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论