使用CLion在MacOS、Linux上编译C++代码

背景介绍:我们已经有一套代码在windows和android上编译通过了,目前需要将这些代码在MacOS和Linux上编成动态链接库,所以直接使用android的编译宏,少量修改即可正常编译。这里只是介绍如何使用CLion进行跨平台编译。

 

1.使用CLion的Import Project from Sources进行代码导入

使用CLion在MacOS、Linux上编译C++代码

2.只需要勾选源文件即可

使用CLion在MacOS、Linux上编译C++代码

导入后

使用CLion在MacOS、Linux上编译C++代码

3.修改CMakeLists.txt

1)设定编译宏,通过add_definitions(-D宏定义)的方式,开启SQLITE3_EXPORTS、SQLITE_ENABLE_COLUMN_METADATA、SQLITE_ENABLE_RTREE宏

使用CLion在MacOS、Linux上编译C++代码

2)设定变量,通过set(变量名 变量值)的方式,定义通用变量

使用CLion在MacOS、Linux上编译C++代码

3)不同平台加以区分

使用CLion在MacOS、Linux上编译C++代码

4)设定引用头文件目录

使用CLion在MacOS、Linux上编译C++代码

5)设定引用库文件目录

使用CLion在MacOS、Linux上编译C++代码

6)设定编译结果,add_executable则会编译成可执行文件,add_library则会编译成链接库,通过SHAED关键字声明为动态链接库(windows下为dll文件,MacOS下为dylib文件,Linux下为so文件),通过STATIC关键字声明为静态链接库(windows下为lib文件,MacOS和Linux下为a文件)

使用CLion在MacOS、Linux上编译C++代码

7)重命名编译结果,由于上一步设定了两个编译成果,一个是静态链接库,一个是动态链接库,编译成果是mzsqlite_shared.dylib和mzsqlite_static.a,不是想要的结果,需要将成果重命名成mzsqlite.dylib和mzsqlite.a

使用CLion在MacOS、Linux上编译C++代码

8)声明需要链接的库,sqlite没有依赖库,这里贴的是另外一个库的配置

使用CLion在MacOS、Linux上编译C++代码

9)重定位编译成果位置,目前没有找到好的方法进行重新位,只是通过CLion->Preferences设置将编译成果保存到源代码所在目录下

使用CLion在MacOS、Linux上编译C++代码

10)SQLite编译CMakeLists.txt全貌

使用CLion在MacOS、Linux上编译C++代码

4.编译成果

1)设置编译条件,通过Run->Edit Configurations进行设置,可以设置编译目标、Release或是Debug等

使用CLion在MacOS、Linux上编译C++代码

2)编译,通过Run->Build进行编译,在输出区进行错误、警告定位和处理

使用CLion在MacOS、Linux上编译C++代码

3)查看编译成果

使用CLion在MacOS、Linux上编译C++代码

5.在Linux上编译,基本上是将MacOS上配置好的拷到Linux上打开编译即可

使用CLion在MacOS、Linux上编译C++代码

 

原文链接: https://www.cnblogs.com/conorpai/p/6425048.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    使用CLion在MacOS、Linux上编译C++代码

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/249679

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月14日 上午3:53
下一篇 2023年2月14日 上午3:53

相关推荐