简介protobuf 只需要我们定义 .proto 格式的数据结构,然后使用 protobuf 编译器生成指定语言的代码,然后我们就可以在指定的语言中使用这个数据结构了。protobuf 的一大好处就是数据结构的序列化和反序列化,这些自定义的数据结构经过序列化之后就可以通过网络、本地系统等方式传给其他进程使用,并且因为 protobuf 有多语言支持,这些数据结构还可以通过序列化和反序列化来支持混
cmake中一些预定义变量PROJECT_SOURCE_DIR  工程的根目录PROJECT_BINARY_DIR    运行cmake命令的目录,通常是${PROJECT_SOURCE_DIR}/buildCMAKE_INCLUDE_PATH   环境变量,非cmake变量CMAKE_LIBRARY_PATH   环境变量CM
cmake实现Blib引用Alib, C.exe引用Blib示例代码库链接 点击前往背景及目的背景算法项目中,可能一个团队有很多算法,但是具体上层应用就只用到几个。如果全部包含即使代码冗余,又使编译时也会慢很多。基本思想是把功能进行拆分,然后分成很多个库,每个库用cmake来管理。下面就以A,B,C为例,看如何把他们分成三个库,最终组合成一个可执行代码。目的A,B,C三个代码库是独立的,当有其他的
# 使用 CMake 引用 XCFramework 进行 iOS 开发 在 iOS 开发中,XCFramework 是一种可以同时支持多种架构(如 iOS、iOS Simulator、macOS 等)的打包方式。使用 CMake 管理 iOS 项目,并且引用 XCFramework,可以大大提升开发效率。本篇文章将详细介绍如何在 CMake引用 XCFramework,并提供代码示例帮助理解
原创 7月前
223阅读
# Android CMake File 引用教程 ## 一、整体流程 ```mermaid flowchart TD A(创建CMakeLists.txt文件) --> B(配置CMakeLists.txt文件) B --> C(生成Android.mk文件) C --> D(编译) ``` ## 二、具体步骤 ### 1. 创建CMakeLists.txt文件
原创 2024-05-15 05:10:10
26阅读
这篇文章给大家介绍下JNI / NDK开发。采用的是Android Studio2.2开发环境,使用CMake方式进行开发。JNI(Java Native Interface)是java与C / C ++进行通信的一种技术,使用JNI技术,可以调用C / C ++的函数对象等等,Android中的Framework层与Native层就是采用的JNI技术。我们知道,Android系统是基于linux
转载 2023-09-19 16:24:10
111阅读
一、CMake 介绍CMake是一个跨平台的安装/编译工具,通过CMake我们可以通过简单的语句来描述所有平台的安装/编译过程。它能输出各种makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。Cmake 并不直接建构出最终的软件,而是产生标准的建构档(如 Unix 的 Makefile 或 Windows Visual C++ 的 projec
 回顾在上一篇笔记里总结的时候说到,aux_source_directory这个函数在添加源码文件时,是不会把头文件添加进去的,这里就介经一下另外一个方法,也是我一直使用的。添加文件*.cpp与*.h文件夹结构CMakeFile |--CMakeLists.txt |--main.cpp |--stdafx.hCMakeLists.txt1 # CMake 最低版本号要求
目录0. CMake常用的命令或函数:1. 定义项目 - project2.多个目录 - add_subdirectory3.常用命令 - add_executable、add_library4.常用命令 - 改变最终目标文件输出位置 5.makefile 中输入 log 6.自定义编译选项,为源代码生成宏 configure_file6'.自定义
转载 2024-05-22 23:44:09
329阅读
# 使用 Python 和 CMake 构建跨平台项目 在现代软件开发中,跨平台的兼容性越来越受到重视,而 CMake 作为一种强大的跨平台构建系统工具,常常与 Python 结合使用来构建复杂的项目。在这篇文章中,我们将探讨如何通过使用 CMake 和 Python 进行项目构建,并给出相应的代码示例。 ## CMake 简介 CMake 是一个开源的构建管理工具,能够生成平台原生的构建文
原创 8月前
17阅读
目录: cd : 切换目录    cd    路径: 切换至该文件路径    cd ~[username]    : 切换至该用户的家目录,    cd - : 切换至上一次所在的目录pwd
原创 2014-10-22 21:57:33
1369阅读
CMake使用外部动态库/静态库和头文件一、准备工作二、新建一个新的CMake工程三、开始构建四、为target添加共享库五、链接静态库 一、准备工作在博文《使用CMake构建静态库和动态库》中已经介绍了libhello动态库的构建和安装,现在我们看看如何使用这个外部动态库。本文中的示例前提是已经安装了libhello.so共享库。二、新建一个新的CMake工程创建一个新的名为usehellol
转载 2024-01-17 14:48:25
251阅读
缘起生活不止眼前的苟且,还有诗与远方。如果你是个菜鸟,想成为一个万人敬仰的大神,那么你不妨先给自己定个小目标,比如说先活它个200年,然后向天再借500年。嗯,第一次听到它的时候,一颗心不停的颤抖,好像前生彼此曾拥有,今生却等了很久很久。跨平台作业的脚本,简单的风格,正处于青春期的 cmake,蓬勃的生机与活力,让人忍不住为之着迷。介绍Cmake 是什么?巨头百度说了: CMake 是一个跨平台
转载 2024-08-05 09:01:17
62阅读
1. 说明之前的示例中有提到使用cmake的install命令来自动安装库和头文件,但是只是使用到了install命令很基础很少的部分,其实该命令作用十分丰富,本篇文档用于说明该命令的详细使用方法。2. install命令详解install()命令为项目生成安装规则,通过在源目录中调用install()命令指定的安装规则将在安装过程中按顺序执行。此命令有多种格式,分别对应不同的安装目标,如:二进制
Cmake 语法与实战入门官方主页官方文档官方教程语法1指定cmake最小版本cmake_minimum_required(VERSION 3.4.1)  在有些情况下,如果 CMakeLists.txt 文件中使用了一些高版本 cmake 特有的一些命令的时候,就需要加上这样一行,提醒用户升级到该版本之后再执行 cmake。  2设置项目名称 project(demo)它会引
转载 2023-12-13 19:20:52
132阅读
set(Foo a b c) 将a、b、c设置为变量 Foo command(${Foo}) 等价于 command(a b c) command("${Foo}") 等价于 command("a b c") command("/${Foo}") 转义,和 a b c无关联 流控制结构IF()...ELSE()/ELSEIF()...ENDIF() WHILE()...ENDWHILE()
准备工作:        1.需要能上网        2.需要备份元数据 mariadb中的命令是mysql,mysql中的命令也是mysql,冲突了,所以需要删除mariadb 但是hive元数据依赖于mariadb,需要将元数据备份下来, 在mys
转载 2023-08-10 10:34:31
56阅读
在Android开发中,当我们使用CMake来构建项目时,往往会遇到引用其他头文件的问题。这种情况会影响项目编译和链接的成功。以下是解决“Android CMake引用其他头文件”问题的完整过程记录。 ### 协议背景 在Android开发中,CMake被广泛用于管理和构建C/C++代码,这为多平台开发提供了便利。随着版本的更新,CMake的配置和使用方法也有所不同。开发者在使用时,需确保正确
原创 5月前
39阅读
文章目录CMake简介CMake的安装CMake的使用CMake常用的预定义变量 CMake简介使用简单方便,可以跨平台,构建项目编译环境。尤其比直接写Makefile简单(在构建大型工程编译时,需要写大量的文件依赖关系),可以通过简单的CMake生成负责的Makefile文件。CMake的安装ubantu上直接执行sudo apt install cmake,安装完成,可以通过cmake -v
转载 2023-12-14 21:57:45
95阅读
一、Android NDK 构建脚本、二、CMake 构建脚本示例、三、CMake 命令手册、1、CMake 脚本命令、2、CMake 工程命令
原创 2022-03-08 14:33:40
1011阅读
  • 1
  • 2
  • 3
  • 4
  • 5