准备
在开始之前,我们先准备一个项目所需要的基本结构。
准备好的文件结构如下所示:
在
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文件中打开一个终端,输入下述命令。
之后,我们在build文件中可以找到一个新生成的Test文件。
在终端中使用下述
命令执行
:
输出
hello word!
至此,我们完成了编译生成可执行文件的操作过程。
修改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文件中打开一个终端,输入下述命令。
我们可以看到新生成了一个
libTestLib.so
文件,这就是我们需要的动态链接库,能够分享给其他人进行使用。
buildroot虽然灵活,但是基于实际情况,本身是侧重驱动和应用定制开发的只定制一次文件系统投入有点多,还不如直接ubunt自己交叉编译依赖库,做一些库的移植裁剪。
于是本篇就使用ubuntu系统了,至于其他库自己下源码在宿主机交叉编译号后,再拷贝过去或者直接在板子上编译也行(只是会比较慢),但是意义不大,因为开发过程肯定是用宿主机,不然核心板编译太慢,在编译上会花费不少可以省去的时间。