android手机助手源代码,IOS Android 手机助手原理以及源码(cmake 构建)

要在不同平台上构建不同的工程需要使用到构建工具,很多开源项目都是用的makefile,但是这东西并不怎么适合国人的习惯,我喜欢双击工程文件自动打开xcode或者vs2013.然后再开发工具里面写代码。编译,链接,单步调试等。所以我不打算用makefile,而是用cmake 来构建。

这里简单描述一下cmake 是干什么的。cmake 是一个工具,一个可执行程序。 他需要一个名字为"CMakeLists.txt" 文件来配合。就和make 工具需要makefile 文件一样。假如下载了一个开源代码,如果发现目录下有 "CMakeLists.txt" 文件,那就爽了。可以直接生成vs工程或者xcode工程。我这里说一下我的设计。

1) 一个总的CMakeLists.txt。 这个文件用来定义所有的工程。可以想象成这是一个解决方案。解决方案里面会包含很多的子工程。

#XPhone_Plus 解决方案的名称

project(XPhone_Plus)

#需要的cmake 版本号

cmake_minimum_required(VERSION 2.8)

#cmake 的路径

SET (CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/build/CMakeModules/;${CMAKE_MODULE_PATH}")

#子工程生成的一些路径。比如lib 文件生成在哪个目录。bin 生成的目录等

set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/../lib)

set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/../lib)

set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/../bin)

# 这个包含了一些全局设置,比如说工程要生成的编译选项,要生成哪几种的工程等。globalsetting 是一个自己写的文件,但是里面#的内容基本通用。

INCLUDE (globalsetting)

#下面就是这个解决方案的子工程了

add_subdirectory(src/Common)

add_subdirectory(src/XPhonePlus)

add_subdirectory(src/Test)

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

2) 每个工程一个CMakeLists.txt。

工程中有目录结构,还有需要编译的文件列表,以及宏定义等等,这些就需要每个工程自己来定义了,所以一个工程里面放一个CMakeLists.txt 还是比较合理的。

#cryptopp工程名

project (cryptopp)

#根据不同的平台定义一些宏定义

if (WIN32)

#-DUSE_PRECOMPILED_HEADERS  说明一下:-D 是一个前缀,真正的宏定义是后面 USE_PRECOMPILED_HEADERS

ADD_DEFINITIONS(-DUSE_PRECOMPILED_HEADERS)

if (CMAKE_X64)

ADD_DEFINITIONS(-DCRYPTOPP_DISABLE_ASM)

endif(CMAKE_X64)

elseif(APPLE)

#多个宏定义之间用空格隔开,比如下面USE_PRECOMPILED_HEADERSCRYPTOPP_DISABLE_ASM 隔开了

ADD_DEFINITIONS(-DUSE_PRECOMPILED_HEADERS -DCRYPTOPP_DISABLE_ASM)

endif (WIN32)

INCLUDE_DIRECTORIES (${COMMON_INCLUDE} . ..)

#下面就是文件列表了

FILE (GLOB header_files *.h)

FILE (GLOB source_files *.c *.cpp)

#ADD_LIBRARY表示生成一个静态库。  ADD_EXECUTABLE 表示生成一个exe 文件

ADD_LIBRARY (cryptopp ${header_files} ${source_files})

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

0818b9ca8b590ca3270a3433284dd417.png

所以使用cmake 来构建是非常方便的。无论是mac osx 还是windows 都很方便

第一步算是完成了。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值