linux编译

openwrt编译 固件太大报错 .bin is too big

六月ゝ 毕业季﹏ 提交于 2020-01-16 02:06:32
openwrt只选中SSH LUCI 编译 报错 无法生成固件 问题出在:openwrt-ramips-mt7620-ex2700-squashfs-sysupgrade.bin 这个固件也没用 。 修改方法: 进入./target/linux/ramips/image 打开makefile 找到ex2700_mtd_size=3866624 改为8126464即可。影响未知 error log: if [ `stat -c%s "/home/l/linux/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620/openwrt-ramips-mt7620-ex2700-squashfs-sysupgrade.bin"` -gt 3866624 ]; then echo "Warning: /home/l/linux/build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7620/openwrt-ramips-mt7620-ex2700-squashfs-sysupgrade.bin is too big" >&2; else cp -fpR /home/l/linux/build_dir/target-mipsel

【备忘】MAC 编译ffmpeg4.2.2的shell脚本

情到浓时终转凉″ 提交于 2020-01-16 01:42:20
1、创建一个文件比如 build_for_andorid.sh , 复制粘贴下面的内容 #!/bin/bash #这里修改的是最低支持的android sdk版本(r20版本ndk中armv8a、x86_64最低支持21,armv7a、x86最低支持16) API=29 # NDK的路径,根据自己的安装位置进行设置 export NDK=/Users/XXX/Library/Android/sdk/ndk-bundle export SYSROOT=$NDK/platforms/android-29/arch-arm64 export TOOLCHAIN=$NDK/toolchains/llvm/prebuilt/darwin-x86_64/ # 这里找到对应得文件 function build_android { #相当于Android中Log.i echo "Compiling FFmpeg for $CPU" ./configure \ --prefix=$PREFIX \ --disable-neon \ --disable-hwaccels \ --disable-gpl \ --disable-postproc \ --enable-shared \ --enable-jni \ --disable-mediacodec \ --disable-decoder=h264

valgrind 编译海思

感情迁移 提交于 2020-01-15 19:07:41
https://blog.csdn.net/understand125/article/details/80689564 https://blog.csdn.net/fengbingchun/article/details/97756419 创建一个脚本build.sh, 内容如下: ./configure --host=arm-hisiv100nptl-linux --prefix=/`pwd`/valgrind CC=arm-hisiv100nptl-linux-gcc CPP=arm-hisiv100nptl-linux-cpp AR=arm-hisiv100nptl-linux-ar 检测命令 ./valgrind --tool=memcheck --leak-check=full ./main 来源: CSDN 作者: ren1204 链接: https://blog.csdn.net/ren1204/article/details/103989773

./configure,make,make install的作用

一笑奈何 提交于 2020-01-15 06:36:59
这些都是典型的使用GNU的AUTOCONF和AUTOMAKE产生的程序的安装步骤。 ./configure是用来检测你的安装平台的目标特征的。比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本。 make是用来编译的,它从Makefile中读取指令,然后编译。 make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置。 AUTOMAKE和AUTOCONF是非常有用的用来发布C程序的东西。 ----- 1、configure,这一步一般用来生成 Makefile,为下一步的编译做准备,你可以通过在 configure 后加上参数来对安装进行控制,比如代码:./configure –prefix=/usr 意思是将该软件安装在 /usr 下面,执行文件就会安装在 /usr/bin (而不是默认的 /usr/local/bin),资源文件就会安装在 /usr/share(而不是默认的/usr/local/share)。同时一些软件的配置文件你可以通过指定 –sys-config= 参数进行设定。有一些软件还可以加上 –with、–enable、–without、–disable 等等参数对编译加以控制,你可以通过允许 ./configure –help 察看详细的说明帮助。 2、make,这一步就是编译

转:openwrt 框架分析

放肆的年华 提交于 2020-01-15 06:32:15
本文是本人对OpenWrt的Makefile的理解,并非转载。 OpenWrt是一个典型的嵌入式Linux工程,了解OpenWrt的Makefile的工作过程对提高嵌入式Linux工程的开发能力有极其重要意义。 OpenWrt的主Makefile文件只有100行,可以简单分为三部分,1~17行为前导部分,19~31为首次执行部分,33~101为再次执行部分。 前导部分 CURDIR为make默认变量,默认值为当前目录。 前导部分主要把变量TOPDIR赋值为当前目录,把变量LC_ALL、LANG赋值为C,并使用变量延伸指示符export,把上述三个变量延伸到下层Makefile。 使用文件使用指示符include引入$(TOPDIR)/include/host.mk。在OpenWrt的主Makefile文件使用了多次include指示符,说明主Makefile文件被拆分成多个文件,被拆分的文件放在不同的目录。拆分的目的是明确各部分的功能,而且增加其灵活性。 在前导部分比较费解的是使用world目标,在makefile中基本规则为: TARGETS : PREREQUISITES COMMAND ... 即makefile规则由目标、依赖、命令三部分组成,在OpenWrt的主Makefile文件的第一个目标world没有依赖和命令。它主要起到指示当make命令不带目标时所要执行的目标

Linux安装MySQL--源码安装包

痞子三分冷 提交于 2020-01-14 23:57:18
标注: Linux需要先配置网络yum源,确定yum能在线安装软件包,方便测试过程中安装部分依赖包。配置163网易提示的网络yum源参考博客 http://www.cnblogs.com/zoulongbin/p/5773330.html 提示: Linux软件编译安装都需要依赖两个安装包 gcc gcc-c++ make 可使用 yum -y install gcc gcc-c++ make 在线安装。 1、 检查本机是否有安装mysql数据库。 2、卸载系统自带的mysql数据库。(卸载之前需要先把mysql数据库停止) 3、查看是否有残留mysql目录或文件。 4、在线yum安装编译所需要的工具和库。 5、检查安装编译所需要的工具和库是否已经安装完成。 6、编译安装mysql前需要先创建mysql用户和组,创建mysql安装目录及存放目录。 7、一般CentOS系统都没有自带安装cmake编译工具,yum也不一定能安装cmake编译工具,所以,本测试机下载cmake源码编译工具和mysql源码安装包。(mysql 5.5以上版本(包含mysql 5.5版本)都需要使用cmake工具进行编译,不能使用./configure编译) Cmake官网下载地址: https://cmake.org/download/ mysql源码安装包下载地址: 标注: mysql 5.7以上版本

Openpose如何在ubuntu系统上搞定Python API

北城以北 提交于 2020-01-14 23:53:34
Openpose安装成功且可以运行, 但是使用其Python API的去调用时总是报错: ImportError:cannot import name pyopenpose 路径已经按照文件中提示的样子改成....../openpose/build/python 但还是报错。 原因是!ubuntu系统里自带python2.7和python3.5两个版本,cmake编译时是自动使用python3.5编译的,而我们运行时是使用python2.7运行的。 解决办法: 在cmake编译时使用python2.7编译 在cmake-gui的界面中 点击 Add Entry,增加两个: PYTHON_EXECUTABLE /usr/bin/python2.7 PYTHON_LIBRARY /usr/lib/x86_64-linux-gnu/libpython2.7.so 再继续Configure,Generate 然后按照教程make成功后,python的api就能够使用了。 来源: CSDN 作者: CptM 链接: https://blog.csdn.net/u010497704/article/details/103974676

Go语言基础知识学习笔记1

喜欢而已 提交于 2020-01-14 08:58:17
Go语言基础知识学习笔记1 安装教程我就不写了,推荐大家下载msc的安装包,因为他会自动帮你配置一些环境变量,但是GOPATH这个工作目录的环境变量需要自己配置 右键我的电脑->属性->高级系统设置->环境变量->新建系统变量 变量名称大写 GOPATH 路径就你的工作目录,如我的是D:/go 如果有多个工作目录就使用";"分号分割 根据约定,GOPATH下需要建立3个目录: bin (存放编译后生成的可执行文件) pkg (存放编译后生成的包文件) src (存放项目源码) 查看环境变量与工作目录 控制台输入:go env C:\>go env set GOARCH=amd64 //CPU架构信息 set GOBIN= //工作目录下的bin文件夹,存放编译文件 set GOCHAR=6 set GOEXE=.exe //生成可执行文件的后缀名 set GOHOSTARCH=amd64 //当用到交叉编译的时候,你需要交叉的架构 set GOHOSTOS=windows //当用到交叉编译的时候,你需要交叉的系统 set GOOS=windows //当前系统的系统名称,也可能是linux,unix set GOPATH= //你的工作目录 set GORACE= set GOROOT=C:\Go //Go语言的安装目录 set GOTOOLDIR=C:\Go\pkg\tool

MAC编译openssl为Android库

拥有回忆 提交于 2020-01-14 06:59:48
写在前面 最近在弄Android数据加密这块,发现openssl的加密方式比较全,而且是开源库,然后想着搬过来用。然后参照了很多编译方法,但是在mac上始终编译不过,当时真有种崩溃的感觉。然后编译通过之后,那种感觉真是痛快。 准备 下载 下载NDK(android-ndk-r10e) 下载openssl(openssl-1.1.1d) 解压文件 将两个文件解压之后放到同一个目录,比如叫openssl openssl │ └───openssl-1.1.1d │ └───android-ndk-r10e 编写shell文件 在openssl目录下编写shell文件 #!/bin/bash set - e set - x SCRIPTPATH= . / openssl export ANDROID_NDK_HOME= $SCRIPTPATH / android - ndk - r10e OPENSSL_DIR= $SCRIPTPATH / openssl - 1 . 1 . 1d CC=clang # 配置toolchains PATH= $ANDROID_NDK_HOME / toolchains / arm - linux - androideabi - 4 . 8 / prebuilt / darwin - x86_64 / bin: $PATH # 设置Android API

./configure,make,make install的作用

百般思念 提交于 2020-01-14 06:13:48
这些都是典型的使用GNU的AUTOCONF和AUTOMAKE产生的程序的安装步骤。 ./configure是用来检测你的安装平台的目标特征的。比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本。 make是用来编译的,它从Makefile中读取指令,然后编译。 make install是用来安装的,它也从Makefile中读取指令,安装到指定的位置。 AUTOMAKE和AUTOCONF是非常有用的用来发布C程序的东西。 ----- 1、configure,这一步一般用来生成 Makefile,为下一步的编译做准备,你可以通过在 configure 后加上参数来对安装进行控制,比如代码:./configure –prefix=/usr 意思是将该软件安装在 /usr 下面,执行文件就会安装在 /usr/bin (而不是默认的 /usr/local/bin),资源文件就会安装在 /usr/share(而不是默认的/usr/local/share)。同时一些软件的配置文件你可以通过指定 –sys-config= 参数进行设定。有一些软件还可以加上 –with、–enable、–without、–disable 等等参数对编译加以控制,你可以通过允许 ./configure –help 察看详细的说明帮助。 2、make,这一步就是编译