相关文章推荐
道上混的熊猫  ·  Install Hyper-V and ...·  1 年前    · 
逆袭的大象  ·  在Canvas ...·  1 年前    · 

准备

新建文件

在开始之前,我们先准备一个项目所需要的基本结构。

准备好的文件结构如下所示:

image

image

编辑源文件

src文件夹 中新建一个test.cpp文件,并加入以下内容。

编译生成可执行文件

CMakeLists .txt文件中加入下述内容:

cmake_minimum_required(VERSION 2.8)
project(Test)
set( CMAKE_BUILD_TYPE "Release" )
set(CMAKE_CXX_FLAGS "-std=c++11 -O3")
add_executable(Test ./src/test.cpp)

保存之后,在build文件中打开一个终端,输入下述命令。

cmake ..
make

之后,我们在build文件中可以找到一个新生成的Test文件。

在终端中使用下述 命令执行

./Test

输出 hello word!

image

至此,我们完成了编译生成可执行文件的操作过程。

编译生成 动态链接库

修改CMakeLists.txt文件内容如下所示:

cmake_minimum_required(VERSION 2.8)
project(Test)
set( CMAKE_BUILD_TYPE "Release" )
set(CMAKE_CXX_FLAGS "-std=c++11 -O3")
add_library(TestLib SHARED ./src/test.cpp)

同样的,在build文件中打开一个终端,输入下述命令。

cmake ..
make

image

我们可以看到新生成了一个 libTestLib.so 文件,这就是我们需要的动态链接库,能够分享给其他人进行使用。

openssl 的编译(linux、Ubuntu) 和 交叉编译(arm、Hi3531A)的问题分析、解决
openssl 的编译(linux、Ubuntu) 和 交叉编译(arm、Hi3531A)的问题分析、解决
RK3568开发笔记(五):在虚拟机上使用SDK编译制作uboot、kernel和ubuntu镜像
buildroot虽然灵活,但是基于实际情况,本身是侧重驱动和应用定制开发的只定制一次文件系统投入有点多,还不如直接ubunt自己交叉编译依赖库,做一些库的移植裁剪。   于是本篇就使用ubuntu系统了,至于其他库自己下源码在宿主机交叉编译号后,再拷贝过去或者直接在板子上编译也行(只是会比较慢),但是意义不大,因为开发过程肯定是用宿主机,不然核心板编译太慢,在编译上会花费不少可以省去的时间。
Qt+MPlayer音乐播放器开发笔记(一):ubuntu上编译MPlayer以及Demo演示
Qt+MPlayer音乐播放器开发笔记(一):ubuntu上编译MPlayer以及Demo演示