CMake 是一个跨平台的构建工具,它可以生成适用于多个操作系统和编译器的构建脚本。在 Android Studio 中,默认使用 CMake 来构建 C/C++ 代码。 当我们使用 CMake 构建 Android 应用时,有时候需要指定编译的平台,以确保生成的代码能够在目标设备上正确运行。这篇文章将介绍如何使用 CMake 列表来指定编译平台。 CMa...
#要求的Cmake最低版本CMAKE_MINIMUM_REQUIRED( VERSION 2.8)#工程名称PROJECT(main)#设置编译器编译模式:set( CMAKE_BUILD_TYPE"Debug")#生成共享库#get the shared package#here needs no .hppadd_library(calculate_shared SHARED hello.cpp)#生成可以执行的文件add_executable(main main.cpp)#连接共享库target_...
CMAKE_SYSTEM_PROCESSOR:处理器名称,比如 i686 UNIX:在所有的类 UNIX 平台下该值为 TRUE,包括 OS X 和 cygwin WIN32:在所有的 win32 平台下该值为 TRUE,包括cygwin 4. 主要开关选项 BUILD_SHARED_LIBS:这个开关用来控制默认的库编译方式,如果不进行设置,使用add_library又没有指定库类型的情况下,...
>> 在CMakeLists.txt中指定,使用set >> cmake命令中使用,如cmake -DBUILD_SHARED_LIBS=OFF 三.常见指令 1. cmake_minimum_required(VERSION 2.8.11) #指定cmake最小编译版本 2. project(HELLO)#指定项目名称,生成的项目名称 3. include_directories(include) #给cmakelist所有目标的源文件指定头文件的搜索...
cmake_minimum_required(VERSION 3.4.1) 指定CMake最低版本,不加会编译报错 set(arg value) 自定义变量,引用变量方式${arg} 如修改系统的输出变量,生成的可执行文件将会在PROJECT_SOURCE_DIR中 set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}) 常用变量有, CMAKE_SOURCE_DIR:CMakeList.txt所在目录 PROJE...
source1 source2 ··· sourceN:用来指定库的源文件。 add_library(<name> [STATIC | SHARED | MOUDLE] [EXCLUDE_FORM_ALL] source1 source2 ··· sourceN) 添加预编译库 添加一个已存在的预编译库,名为<name>。 一般配合set_target_properties使用。
在上述示例中,我们首先设定了cmake 的版本要求和项目名称。然后,通过`set`命令设置了编译器参数,如 C++标准和优化等级。接下来,我们添加了一个可执行文件目标,并指定了需要编译的源文件。最后,我们为可执行文件链接了一个共享库。 当然,在实际项目中,可能还需要根据需求设置更多的参数。在cmake 中,开发者可以通过...
1. 项目名称和版本号 在CMakeList 文件的开头,我们通常会定义项目的名称和版本号。 这些信息将被用于生成项目的构建文件和安装文件。 2. 编译选项和编译器设置 在CMakeList 文件中,我们可以设置编译选项和编译器设置,以控 制项目的编译过程。例如,我们可以设置编译器的优化级别、调试 信息等。 3. 头文件和库文...
这是可选的,但可以帮助确保代码在一致的编译器设置下构建。 add_executable(HelloWorld ${SOURCES}): 使用add_executable命令添加一个可执行文件目标。这里的目标名称是HelloWorld,源文件由之前定义的SOURCES变量提供。 3. 如何在CMakeLists.txt中指定项目名称和版本 通过project命令指定项目名称和版本,如上述示例中的...
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)#cmake 最低版本要求,低于2.6 构建过程会被终止。 PROJECT(server_project)#定义工程名称 MESSAGE(STATUS "Project: SERVER")#打印相关消息消息 MESSAGE(STATUS "Project Directory: ${PROJECT_SOURCE_DIR}") SET(CMAKE_BUILE_TYPE DEBUG)#指定编译类型 ...