cmake

嵌入式程序应用调试

血红的双手。 提交于 2020-11-02 13:07:41
目录 一、GDB简单调试 1、 安装gdb 2、内存出错的GDB调试 二、安装opencv-3.4.12 1、将在网上下载好的opencv-3.4.12拖进unbuntu并将其复制到主目录下 2、打开终端解压包 3、 进入到解压后的文件包中 4、 安装依赖库和cmake 5、创建编译文件夹 6、进行cmake 7、配置OpenCV的编译环境 8、执行如下命令使得刚才的配置路径生效 9、执行如下命令使得配置生效并更新 二、 Linux编程 1、在opencv-3.4.1下新建文件夹mytest 2、创建test.cpp 3、进入编程 4、保存并编译 5、运行结果 三、使用opencv库编写打开摄像头压缩视频的程序 1、先将虚拟机的usb控制器下的usn兼容改为3.0并连接摄像头 2.创建文件和编译 3.编译后运行结果 总结 一、GDB简单调试 1、 安装gdb sudo apt - get install gdb 2、内存出错的GDB调试 • Linux中,程序崩溃时,一般会产生core文件,记录进程退出前的状态,调试段错误问题,借助于该文件,可快速定位问题。 • 可按如下步骤生成和使用core文件 – Step 1: 让系统产生core文件 • ulimit –c num #设定core文件容量(num为数字,为0 是不产生core文件) – Step 2: 运行程序,让程序崩溃

ROS入门学习

本秂侑毒 提交于 2020-11-02 06:22:46
ROS学习笔记 ROS入门网站 ; ROS入门书籍 ROS主要包含包括功能包、节点、话题、消息类型和服务; ROS功能包/软件包(Packages) ROS软件包是一组用于实现特定功能的相关文件的集合,包括可执行文件和其他支持文件。 所有的 ROS 软件都是一个软件包或其他软件包的一部分。 每个程序包由一个 清单文件 (文件名为 package.xml)定义。 该文件定义关于包的一些细节,包括其名称、版本、维护者和依赖关系。 包含 package.xml 文件的目录被称为 软件包目录 。 使用catkin编译构建系统的功能包, 编译产生的可执行文件存放在一个单独的标准化目录层次结构中。 功能包集(stack): 功能包集是紧密相关的功能包的集合,从groovy开始慢慢地被淘汰, 取而代之的是元功能包(metapackages)。 节点管理器(The Master) 接单(node)是几乎相对独立的小程序,这些节点必须能够通信, 通信的关键部分是 ROS节点管理器 。 启动节点管理器的命令 -- roscore。 大多数 ROS 节点在启动时连接到节点管理器上,如果运行中连接中断,则不会尝试重新连接。 因此,如果 roscore被终止,当前运行的其他节点将无法建立新的连接,即使稍后重启 roscore 也无济于事。 roslaunch 的工具,其目的是一次性启动多个节点。 节点

lua脚本入门

狂风中的少年 提交于 2020-10-29 05:02:56
在网上下载一些工程,里边常常存在.lua .sh .in .cmake .bat等文件 今天专门查了一下相关文件的作用 .sh 通常是linux、unix系统下的脚本文件(文本文件),用于调用默认的shell,执行一些操作系统命令,理解的是类似windows下的dos命令。 .in 是对文件进行统一的管理。check out是将一个数据库中的文件下载到本地,一旦文件被check out后,其他人只允许浏览该文件,而无法修改此文件,只有这个文件被check in后,其他人才可以对此文件check out工作,来对此文件进行修改。 .lua 这是我们的重点: lua文件是什么?   一种小巧的脚本语言,其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。Lua由标准C编写而成,几乎在所有操作系统和平台上都可以编译,运行。Lua并没有提供强大的库,这是由它的定位决定的。所以Lua不适合作为开发独立应用程序的语言。Lua 有一个同时进行的JIT项目,提供在特定平台上的即时编译功能。   Lua脚本可以很容易的被C/C++ 代码调用,也可以反过来调用C/C++的函数,这使得Lua在应用程序中可以被广泛应用。不仅仅作为扩展脚本,也可以作为普通的配置文件,代替XML,ini等文件格式,并且更容易理解和维护。Lua由标准C编写而成,代码简洁优美

mysql之mysql的安装

时光总嘲笑我的痴心妄想 提交于 2020-10-28 10:11:47
此次MySQL安装的版本为:MySQL8.0 系统为:centos6.9 64位 一、利用yum仓库安装 wget https://repo.mysql.com//mysql80-community-release-el6-1.noarch.rpm 下载仓库文件的rpm包 rpm -ihv mysql80-community-release-el6-1.noarch.rpm 安装 yum 仓库包 yum install mysql-community-server -y 用 yum 安装 初始化: service mysqld start grep 'temporary password' /var/log/mysqld.log 查看初始密码 alter user 'root'@'localhost' identified by 'MySQLtest123'; 修改初始密码 二、编译安装 rpm包安装没有什么难度,只要去官网下载rpm包,就可以了。 之所以要用编译安装,主要是为了隐藏版本号。因为各种中间件或多或少都是有一些漏洞的,黑客可以通过扫描你中间件的版本号从而有针对的攻击你的系统 比如用telnet ip 3306,就能看到mysql的版本信息,为了隐藏版本信息,最好还是使用编译安装。 安装前的准备 : yum install -y autoconf automake m4

【转】MFC内嵌cef3浏览器内核

一世执手 提交于 2020-10-28 09:57:12
一、cef3内核的下载 可以从 http://opensource.spotify.com/cefbuilds/index.html 下载,注意:很多版本编译都可以通过 但是运行的时候会崩溃,以cef_binary_3.2704.1414.g185cd6c_windows32为例,该版本debug编译都可以通过,运行的时候加载本地网页会出现错误,原因未知,加载www.baidu.com,关闭的时候会出现崩溃的情况,release版本完全正常, 二、使用cmake创建成vs工程 本文创建为vs2015, 打开vs工程文件, ,编译libcef_all_wrapper,另外编译自带cefsimple,从libcef_dll_wrapper文件下的生成目录debug或者release获取libcef_dll_wrapper.lib,另外要把cefsimple需要的依赖都拷出来,后面作为我们demo必要的依赖。 三、cef相关文件夹介绍 文件夹介绍 (1)cmake,该文件夹包含Cmake的一些宏定义,配置信息。 (2)include,使用该库的所有头文件 (3)libcef_dll,库的源代码 (4)tests,测试程序demo源代码 (5)Resource,资源文件 该资源文件是程序运行需要依赖的资源文件,含语言包,unicode支持等 (6)Debug/Release

MNN默认优化

前提是你 提交于 2020-10-27 11:14:08
MNN是一个轻量级的深度神经网络推理引擎,在端侧加载深度神经网络模型进行推理预测。目前,MNN已经在阿里巴巴的手机淘宝、手机天猫、优酷等20多个App中使用,覆盖直播、短视频、搜索推荐、商品图像搜索、互动营销、权益发放、安全风控等场景。此外,IoT等场景下也有若干应用。 整体特点 轻量性 • 针对端侧设备特点深度定制和裁剪,无任何依赖,可以方便地部署到移动设备和各种嵌入式设备中。 • iOS平台:armv7+arm64静态库大小5MB左右,链接生成可执行文件增加大小620KB左右,metallib文件600KB左右。 • Android平台:so大小500KB左右,OpenCL库300KB左右,Vulkan库300KB左右。 通用性 • 支持Tensorflow、Caffe、ONNX等主流模型文件格式,支持CNN、RNN、GAN等常用网络。 • 支持 149 个TensorflowOp、47 个CaffeOp、74 个 ONNX Op;各计算设备支持的MNN Op数:CPU 110个,Metal 55个,OpenCL 29个,Vulkan 31个。 • 支持iOS 8.0+、Android 4.3+和具有POSIX接口的嵌入式设备。 • 支持异构设备混合计算,目前支持CPU和GPU,可以动态导入GPU Op插件,替代CPU Op的实现。 高性能 • 不依赖任何第三方计算库