IF (APPLE) ## mac/ios平台编译64位库set(USE_32BITS0) ELSE()set(USE_32BITS1) ENDIF() ### 设置编译参数 ### if(USE_32BITS) message(STATUS"Compiling project using 32 bits")set(CMAKE_C_FLAGS"${CMAKE_C_FLAGS} -m32")set(CMAKE_CXX_FLAGS"${CMAKE_CXX_FLAGS} -m32") endif...
elseif(UNIX) message(STATUS "Unix") //Linux elseif(APPLE) message(STATUS "macOS") //苹果 endif() 比较 条件判断必不可少涉及到比较。我们这里介绍数值比较与字符串比较。 数值比较: LESS <:检查左侧是否小于右侧。 GREATER >:检查左侧是否大于右侧。 EQUAL ==:检查两侧是否数值相等。 NOTEQUAL !=:检查...
9,WIN32,在所有的win32平台为TRUE,包括cygwin 六,主要的开关选项: 1,CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS,用来控制IF ELSE语句的书写方式,在 下一节语法部分会讲到。 2,BUILD_SHARED_LIBS 这个开关用来控制默认的库编译方式,如果不进行设置,使用ADD_LIBRARY并没有指定库 类型的情况下,默认编译生成的库都是静态库。
#cmake最低版本需求cmake_minimum_required(VERSION3.13)#项目名称project(cmake_study)#相关设置用set函数set(CMAKE_CXX_STANDARD11)#生成的可执行文件的名称add_executable(cmake_study src/main.cc) 在Linux环境使用CMake的构建和编译流程如下: step1.编写CMake的配置文件——CMakeLists.txt。 step2.执行命令 ...
if(WIN32) message(STATUS "in Windows System") elseif(UNIX) message(STATUS "in Unix System") endif() (7) include_directories 含义:将指定目录添加到编译器的头文件搜索范围 语法: include_directories([AFTER|BEFORE] [SYSTEM] dir1 [dir2 ...]) 使用样例: include_directories(../src/com/include...
WIN32 在所有的win32平台为TRUE,包括cygwin,Windows操作系统; APPLE 苹果操作系统; 例如操作系统判断方式一: 代码语言:javascript 代码运行次数:0 运行 AI代码解释 if(WIN32) message(STATUS“This operating system is Windows.”) elseif(UNIX) message(STATUS“This operating system is Linux.”) elseif(APPLE...
在 linux 平台下使用 CMake 生成 Makefile 并编译的流程如下: 编写 CmakeLists.txt。 执行命令“cmake PATH”或者“ccmake PATH”生成 Makefile ( PATH 是 CMakeLists.txt 所在的目录 )。 使用 make 命令进行编译。 回页首 第一个工程 现假设我们的项目中只有一个源文件 main.cpp 清单1 源文件 main....
9,WIN32,在所有的 win32 平台为 TRUE,包括 cygwin 六,主要的开关选项: 1,CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS,用来控制 IF ELSE 语句的书写方式,在 下一节语法部分会讲到。 2,BUILD_SHARED_LIBS 这个开关用来控制默认的库编译方式,如果不进行设置,使用 ADD_LIBRARY 并没有指定库 ...
例如,我们可以在Linux平台上使用shell命令,在Windows平台上使用cmd命令。这就需要我们在写CMake脚本时,对当前的操作系统进行判断,然后根据不同的操作系统,使用不同的命令。以下是一个简单的例子: if(WIN32)add_custom_command(TARGET my_targetPOST_BUILDCOMMAND cmd /c echo "This is Windows")elseif(UNIX)add_...