首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

LinuxCMake简明教程

本文主要讲述在Linux下如何使用CMake来编译我们的程序。...第一个参数dir是指定目录,第二个参数var是用于存放源文件列表的变量。 我们在main.c所在目录下再添加2个文件,testFunc1.c和testFunc1.h。...;第2个参数决定是动态还是静态,如果没有就默认静态;第3个参数指定生成库的源文件) set_target_properties: 设置最终生成的库的名称,还有其它功能,如设置库的版本号等等 LIBRARY_OUTPUT_PATH...,第二个参数是库名称,第三个参数是HINTS,第4个参数是路径,其它用法可以参考cmake文档 target_link_libraries: 把目标文件与库文件进行链接 使用find_library的好处是在执行...option的名字,第二个参数是字符串,用来描述这个option是来干嘛的,第三个是option的值,ON或OFF,也可以不写,不写就是默认OFF。

1.7K10

CMake file命令参数GLOB和GLOB_RECURSE

如果指定了HEX参数,二进制代码将会转换为十六进制表达方式,并存储在变量里。 STRINGS将会从一个文件中将一个ASCII字符串的list解析出来,然后存储在variable变量中。...(类似于rm -r 命令——译注) RELATIVE_PATH选项会确定从direcroty参数到指定文件的相对路径。...TO_CMAKE_PATH选项会把path转换为一个以unix的 / 开头的cmake风格的路径。输入可以是一个单一的路径,也可以是一个系统路径,比如"$ENV{PATH}"。...注意,在调用TO_CMAKE_PATH的ENV周围的双引号只能有一个参数(Note the double quotes around the ENV call TO_CMAKE_PATH only takes...TO_NATIVE_PATH选项与TO_CMAKE_PATH选项很相似,但是它会把cmake风格的路径转换为本地路径风格:windows下用\,而unix下用/。

3.2K10

cmake:macro,function中ARGV,ARGN参数的区别

https://blog.csdn.net/10km/article/details/83027824 cmake中的宏(macro)和函数(function)都支持动态参数 变量ARGC...记录传入的参数个数 变量ARGV0,ARGV1,...顺序代表传入的参数 变量ARGV则是一个包含所有传入参数的list 变量ARGN也是一个包含传入参数的list,但不是所有参数,而是指macro.../function声明的参数之后的所有传入参数 写一个小程序就可以验证: # 定义一个宏,显式声明了两个参数hello,world macro(argn_test hello world) MESSAGE...ARGV1=${ARGV1}) MESSAGE(STATUS ARGV2=${ARGV2}) MESSAGE(STATUS ARGV3=${ARGV3}) endmacro() # 调用宏时传入4个参数...argn_test(TOM JERRY SUSAN BERN) cmake脚本执行输出结果,ARGN为声明参数之后的所有参数 -- ARGV=TOMJERRYSUSANBERN -- ARGN=SUSANBERN

1.7K10

搭建VS2017 Linux CMake开发环境

CMake Open Folder工程组织方式 类同上面的Linux Project模式, 我们使用(VS2017->File->New->Project)菜单项来打开新建工程面板, 如上图所示, 我们创建的是一个跨平台的...首先, 我们先把CMake工程的目标平台按如下图所示的方式调整到Linux: 选择select后, 会自动创建一个”CMakeSettings.json”, 基本VS对CMake工程相关的配置都存储在该文件中...“-j8”, 可自行去掉对应参数和添加对应参数测试加速情况, 目前拿猎人3D的工程进行测试, 加速效果比较明显....CMake的当前执行Target进行切换: 点击运行后如下图所示, 跟VS Proj模式基本一致: 启动项设置说明: 此处要注意的是我们可以对启动项进行配置, 包括启动目录, 附加的命令行参数, 都可以进行相关配置...重要的选项是cwd和args, 我们可能会修改这两项以适应我们的调试需求 “cwd”是程序的启动工作目录 “args”是命令行参数列表, 注意此处每个命令行参数需要单独给一列, 是数组形式给出的.

3.2K10

CMake

这里我们使用CMake。 在一个CMake工程中,我们会使用cmake命令生成一个Makefile文件,然后,用make命令根据这个 makefile文件的内容来编译整个工程。...入门案例:单个源文件 编写 CMakeLists.txt 首先编写 CMakeLists.txt 文件,并保存在与 main.cc 源文件同个目录下: # 声明要求的cmake最低版本 cmake_minimum_required...(Demo main.cc) CMakeLists.txt 文件用于告诉cmake我们要对这个目录下的文件做什么事情,CmakeLists.txt 文件的内容需要遵守cmake的语法。...编译项目 在当前目录执行 cmake . ,得到 Makefile 后再使用 make 命令编译得到 Demo1 可执行文件。 cmake ....从 config.h.in 生成,通过这样的机制,将可以通过预定义一些参数和变量来控制代码的生成。

1.7K42

CMakeCMake 引入 ( Android NDK 构建脚本 | CMake 命令手册 )

最低版本 cmake_minimum_required(VERSION 3.4.1) # 设置函数库编译 add_library( # 参数 1 : 设置生成的动态库名称 native-lib...# 参数 2 : 设置生成的函数库类型 : ① 静态库 STATIC ② 动态库 SHARED SHARED # 参数 3 : 配置要编译的源文件...: # ① 参数 1 ( add ) : 要设置哪个函数库的属性 # ② 参数 2 ( PROPERTIES ) : 设置目标属性 # ③...表示会将 C++ 的参数传给编译器 # CMAKE_C_FLAGS 表示会将 C 参数传给编译器 # 参数设置 : 传递 CMAKE_CXX_FLAGS C+= 参数给编译器时 , 在 该参数后面指定库的路径...# CMAKE_SOURCE_DIR 指的是当前的文件地址 # -L 参数指定动态库的查找路径 #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -L${CMAKE_SOURCE_DIR

3.6K01

CMake学习笔记(二)——CMake语法

3、变量使用${}方式取值,但是在 IF 控制语句中是直接使用变量名; 4、指令(参数 1 参数 2…),参数使用括弧括起,参数之间使用空格或分号分开; 一. CMake中常用预定义变量 1....cmake补丁等级,如2.8.6中的6 CMAKE_SYSTEM 系统名称,例如Linux-2.6.22 CMAKE_SYSTEM_NAME 不包含版本的系统名,如Linux CMAKE_SYSTEM_VERSION...当然,可执行文件的安装路径CMAKE_INSTALL_PREFIX也可以在执行cmake命令的时候指定,cmake参数如下: cmake -DCMAKE_INSTALL_PREFIX=/usr .....如果cmake参数和CMakeLists.txt文件中都不指定该值的话,则该值为默认的/usr/local。 4....注:如果希望使用CMAKE_INSTALL_PREFIX定义安装路径,就需要使用相对路径,这时候安装后的路径就是${CMAKE_INSTALL_PREFIX}/ 其余参数待笔者使用到再进行补充吧

5.3K100
领券