linux编译

linux/types.h:154:36: error: conflicting types for ‘uintmax_t’ typedef u_int32_t uintmax_t;

北城余情 提交于 2019-12-10 10:12:47
最近在海思3521d的平台编译fw_printer以及fw_write工具,在跑到Hi3521DV100_SDK_V1.0.5.0/osdrv/opensource/uboot/u-boot-2010.06这个路径下,执行make ARCH=arm CROSS_COMPILE=arm-hisiv500-linux- env之后,出现了一下报错: linux/types.h:154:36: error: conflicting types for ‘uintmax_t’ typedef u_int32_t uintmax_t; 在网上查询了一番解决办法之后,一群锤子胡乱说,但也有可能是每个人的情况不一样。我这边最后的解决办法是直接找到那个报错的头文件types.h,然后跑去报错的那一行直接注释掉相关的变量的定义就可以了,如下: 这样最终就编译通过了,编译通过之后记得重新打开这个注释,说不定后面重编uboot的时候有哪些部分会涉及到。 来源: CSDN 作者: Wilburn0 链接: https://blog.csdn.net/weixin_44362642/article/details/103469007

Robomaster视觉组成长之路

岁酱吖の 提交于 2019-12-10 09:46:06
Robomaster视觉组成长之路 重点标识 Robomaster视觉组成长之路 11.27 正式开始记录 11.28 看装甲板 11.29 调哨兵 十一大滤波算法 11.30 Source Insight和wine vim-ctag-taglist-cscope配置可跳转的ide ctags 下载编译ctags 路径 ctags如何使用 taglist cscope **sudo find / -name curses.h**找不到库,第一反应是在电脑的所有文件找这个文件 之后上网百度,找解决方法 vim进入main函数,cscope报错! 东南大学代码 apt安装qt5 error adding symbols: file wrong format 提高帧率 网口摄像头配置静态ip nmap查看摄像头ip 迈德威视摄像头进行录像 linux命令日常总结 2020比赛,我们队伍暂时采取2019年上交开源代码。在消化代码的过程中,我学到很多,予以记录! 11.27 正式开始记录 manifold要正式用到机器上,需要令程序开机自启动。使用Ubuntu自带的setup application,不要采用修改rc.local文件的方式,很麻烦 可知,manifold系统是linux Debian系统,而不是rap类的linux系统,之后下载方便跳转的vscode时便可以下载deb类型。

在Ubuntu下rtorrent编译安装笔记

丶灬走出姿态 提交于 2019-12-10 08:08:52
rtorrent是一个Bittorrent软件,基于终端的BT客户端,高性能、低资源,另外有不少人给rtorrent开发了Web GUI来更好的让用户控制管理rtorrent,总而言之在Linux平台下,rtorrent是一个不错的BT下载解决方案。   rtorrent是一个Bittorrent软件,基于终端的BT客户端,高性能、低资源,另外有不少人给rtorrent开发了Web GUI来更好的让用户控制管理rtorrent,总而言之在Linux平台下,rtorrent是一个不错的BT下载解决方案。   rtorrent已被添加进Ubuntu源中,在Ubuntu下安装rtorrent非常容易,一句话即可安装:   $sudo apt-get install rtorrent   但是这里要写的是编译安装rtorrent的笔记记录,在这个编译安装过程中可以学习到一些关于编译安装源码的简单经验。在这里所用到的是全新安装的Ubuntu 8.10,以此为例来进行编译安装的学习。   首先在rtorrent官方Wiki中的Install条目中给出了安装步骤:   cd /home/rtorrent   svn co svn://rakshasa.no/libtorrent/trunk   cd /home/rtorrent/trunk   svn up   cd libtorrent   

20155215 第二周测试1 与 myod

亡梦爱人 提交于 2019-12-10 05:09:54
课堂测试 第一题 每个 .c一个文件,每个 .h一个文件,文件名中最好有自己的学号 用Vi输入图中代码,并用gcc编译通过 在Vi中使用K查找printf的帮助文档 提交vi编辑过程截图,要全屏,包含自己的学号信息 因为我发现我第一题提交的是错误的图片,是我还没有编译通过的图片,所以我重新补交一下。 遇到的问题: 之所以刚开始老师给的程序始终没办法编译通过的原因是因为我的文件夹里有很多个main.c文件,编译时对我所有的main.c都进行了编译,所以一直都显示报错。当我把老师给的图片上的程序都重新放进单独的文件夹后,这个问题就被解决了。 第四题 除了main.c外,其他4个模块(add.c sub.c mul.c div.c)的源代码不想给别人,如何制作一个mymath.a静态库?main.c如何使用mymath.a? 提交静态库生成和调用过程截图(一定包含条件断点的),要全屏,包含自己的学号信息 制作静态库代码步骤如下所示: gcc -c add.c -o add.o gcc -c div.c -o div.o gcc -c mul.c -o mul.o gcc -c sub.c -o sub.o ar rcs mymath.a add.o sub.o mul.o div.o gcc -static -o link1 main.o mymath.a ./link1 运行图如下:

调试Linux内核环境MenuOS系统

梦想与她 提交于 2019-12-09 12:46:20
调试Linux内核环境MenuOS系统 一、实验简介 本文采用自己搭建环境的方式对gdb进行了模拟。 (1)工具介绍 1 )QEMU介绍 QEMU是一个主机上的VMM(virtual machine monitor),通过动态二进制转换来模拟CPU,并提供一系列的硬件模型,使guest os认为自己和硬件直接打交道,其实是同QEMU模拟出来的硬件打交道,QEMU再将这些指令翻译给真正硬件进行操作。通过这种模式,guest os可以和主机上的硬盘,网卡,CPU,CD-ROM,音频设备和USB等设备进行交互。 2 )BusyBox介绍 Busybox中包含了linux中的很多指令,Busybox是一个开源项目,遵循GPL v2协议。Busybox将众多的UNIX命令集合进一个很小的可执行程序中,可以用来替代GNU fileutils、shellutils等工具集。Busybox中各种命令与相应的GNU工具相比,所能提供的选项比较少,但是也足够一般的应用了。 (2)建立环境的几个重要步骤 1)安装编译工具链。 2)安装qemu模拟器 3)编译arm架构内核 4)测试qemu是否正常启动 5)制作文件系统,本实验采用下载下来的根文件系统 6)启动系统,测试gdb的服务端和客户端。 嵌入式开发由以下几个步骤完成。 (3)gdbServer原理 目标机器需要运行程序和 gdbserver

xmake从入门到精通9:交叉编译详解

岁酱吖の 提交于 2019-12-09 07:16:26
xmake是一个基于Lua的轻量级现代化c/c++的项目构建工具,主要特点是:语法简单易上手,提供更加可读的项目维护,实现跨平台行为一致的构建体验。 除了win, linux, macOS平台,以及android, ios等移动端平台的内建构建支持,xmake也支持对各种其他工具链的交叉编译支持,本文我们将会详细介绍下如何使用xmake进行交叉编译。 项目源码 官方文档 交叉编译工具链简介 通常,如果我们需要在当前pc环境编译生成其他设备上才能运行的目标文件时候,就需要通过对应的交叉编译工具链来编译生成它们,比如在win/macos上编译linux的程序,或者在linux上编译其他嵌入式设备的目标文件等。 通常的交叉编译工具链都是基于gcc/clang的,大都具有类似如下的结构: /home/toolchains_sdkdir - bin - arm-linux-armeabi-gcc - arm-linux-armeabi-ld - ... - lib - libxxx.a - include - xxx.h 每个工具链都有对应的include/lib目录,用于放置一些系统库和头文件,例如libc, stdc++等,而bin目录下放置的就是编译工具链一系列工具。例如: arm-linux-armeabi-ar arm-linux-armeabi-as arm-linux

RTX8111驱动程序编译过程

馋奶兔 提交于 2019-12-07 22:06:43
**RTX8111驱动程序编译过程 uImage生成需要mkimage,mkimage是uboot编译生成的。 编译uboot的脚本如下: #CROSS_COMPILE= 可以指定你系统中的交叉编译器.export CROSS_COMPILE=/opt/EmbedSky/tools/4.6.2-imx6_linux/bin/arm-linux- export ARCH=arm export CROSS_COMPILE=arm-linux- #make mx6q_sabresd_android_config make mx6q_sabresd_config make -j8 3. 交叉编译工具使用arm-linux-gcc ----》 4. 安装32位共享库,因为交叉编译工具和内核版本是32位的。 a) yum install glibc.i686 b) yum install zlib.i686 5. make menuconfig 配置 PCIE支持选项: -->system type --> Freecale MXC Implementations -->PCI Express support ![](https://s1.51cto.com/images/blog/201912/07/e31ff29bb7375ee2eb191b8b15b07ff8.png?x-oss

Linux下Make编译结果输出到文件

喜夏-厌秋 提交于 2019-12-07 17:26:54
Linux系统下执行make命令,编译比较大一点的工程或者文件的时候,在命令行下错误和警告信息直接就把我们的实现覆盖了。 把编译日志输出到文件是个选择,执行如下命令即可达到目的。 make > build.log 2>&1 来源: CSDN 作者: faithzzf 链接: https://blog.csdn.net/faithzzf/article/details/72466420

关于GOROOT、GOPATH、GOBIN、project目录

て烟熏妆下的殇ゞ 提交于 2019-12-07 13:55:41
GOROOT、GOPATH、GOBIN、project目录 前言:我觉得java程序员学golang很容易上手。关于GOROOT、GOPATH、GOBIN这些环境变量的设置,我隐约感觉到了java的影子(尽管我是一个C++程序员),唯一和java不同的是不能设置“.”。 另外,golang的设计也很明显的透露着“约定优于配置”的原则。这在java很多框架里面很常见。golang的环境变量设计也是如此。从android和golang我觉得google喜欢java。 不了解java的C++程序员,可以尝试全新去理解golang。 GOROOT golang安装路径。 GOPATH 官方解释,请google。go工作环境中常常用到的一个很重要的环境变量(这种设计类似java)。具体用途:go命令常常需要用到的,如go run,go install, go get等。允许设置多个路径,和各个系统环境多路径设置一样,windows用“;”,linux(mac)用“:”分隔。 在linux(Mac)下,为了方便,一般配置在~/.bash_profile中。 book:~ wukebing$ vi ~/.bash_profile //编辑 book:~ wukebing$ source ~/.bash_profile //编辑完成后,使立即生效 例如:我的GOPATH设置(MAC下)

Windows下hiredis分布式组件移植

北城余情 提交于 2019-12-07 12:13:52
1. 问题描述 分布式组件项目使用了Redis,在Windows平台使用QT+VS2010编译环境。但Redis客户端库hiredis在Windows平台只提供静态库,而且必须用VS2013以上的版本才能编译。由于VS2013要更新部分组件才能避免编译错误,最终以VS2015编译hiredis.lib静态库。这样就面临如下问题: VS2010不支持完整的C++11特性,linux能直接使用std::thread的代码在Windows无法编译。 但使用该组件的应用程序在Windows系统以VS2010编译,不能直接用VS2015编译出的hiredis.lib继续编译应用程序。 2. 解决过程 2.1. 跨系统移植 2.1.1.务必初始化所有变量 因为某个ID变量没有初始化,在linux运行正常,但移植到windows就出现错误。原因是该变量在linux被缺省初始化为0,单在Windows是随机值。 从代码的质量考虑,不能依赖系统的缺省值,必须养成初始化所有变量的习惯。 2.1.2.VS早期版本不支持C++11的全部标准 代码中使用了C++11的thread,在linux和Windows的VS2015运行正常,但在VS2010编译出错。原因是VS2012之前的版本不支持C++11标准。为此不得不大量使用条件编译,改用CreateThread等函数。 2.2.