linux编译

Linux编译内核与添加系统调用

匿名 (未验证) 提交于 2019-12-02 21:59:42
Linux添加系统调用 1.设计目的 Linux 是开源操作系统,用户可以根据自身系统需要裁剪、修改内核,定制出功能更加 合适、运行效率更高的系统,因此,编译 linux 内核是进行内核开发的必要基本功。 在系统中根据需要添加新的系统调用是修改内核的一种常用手段,通过本次实验,读 者应理解 linux 系统处理系统调用的流程以及增加系统调用的方法。 2.内容要求 (1)添加一个系统调用,实现对指定进程的 nice 值的修改或读取功能,并返回进程最 新的 nice 值及优先级 prio。建议调用原型为: int mysetnice(pid_t pid, int flag, int nicevalue, void __user * prio, void __user * nice); 参数含义: pid:进程 ID。 flag:若值为 0,表示读取 nice 值;若值为 1,表示修改 nice 值。 Prio、nice:进程当前优先级及 nice 值。 返回值:系统调用成功时返回 0,失败时返回错误码 EFAULT。 (2)写一个简单的应用程序测试(1)中添加的系统调用。 (3)若程序中调用了 linux 的内核函数,要求深入阅读相关函数源码。 一、准备 我使用的是ubuntu 16.04 LTS,下载的是4.13.12的内核。 下载链接:https://www.kernel.org/

linphone 在linux下编译 ubuntu18 64

匿名 (未验证) 提交于 2019-12-02 21:59:42
经过一个下午的折腾终于编译成功 编译环境 : linux ubuntu18 64bits 1,安装 qt-opensource-linux-x64-5.11.0.run 并设置环境变量 export Qt5_DIR='/opt/Qt5.11.0/5.11.0/gcc_64/lib/cmake' export PATH="/opt/Qt5.11.0/5.11.0/gcc_64/bin:$PATH" 2,安装相关包 sudo apt-get install libsysfs-dev apt-get install libbsd-dev 先删除alsa模块 sudo apt-get remove linux-sound-base alsa-base alsa-utils 再重新安装alsa模块 sudo apt-get install xmlto libasound2-dev sudo apt-get install linux-sound-base alsa-base alsa-utils 重点是libglew-dev( sudo apt-get install libglew-dbg libglew-dev libglew1.10 libglewmx-dbg libglewmx-dev libglewmx1.10 glew-utils) sudo apt-get install

Linux平台编译Lua-5.0 版本so动态库文件

匿名 (未验证) 提交于 2019-12-02 21:59:42
https://www.lua.org/ftp/ LUA_SO=liblua.so ALL_T= $(LUA_A) $(LUA_T) $(LUAC_T) $(LUA_SO) $(LUA_SO): $(CORE_O) $(LIB_O) TO_LIB= liblua.a liblua.so MYCFLAGS= -O2 -fPIC make clean;make;make so lua-5.0.2/lib/liblua.so lua-5.0.2/lib/liblua.so.5.0 lua-5.0.2/lib/liblualib.so lua-5.0.2/lib/liblualib.so.5.0 文章来源: Linux平台编译Lua-5.0 版本so动态库文件

编译Linux内核 4.13

匿名 (未验证) 提交于 2019-12-02 21:59:42
环境Ubuntu16.04 下载内核 ~$ apt search linux-source ~$ sudo apt-get install linux-source-4.13.0(会下载到/usr/src/目录下) 解压 linux-source-4.13.0.tar.bz2 tar xjvf linux-source-4.13.0.tar.bz2 进入解压后的目录: 开始编译 make menuconfig (图形化界面配置) make clean 清除内核编译的目标文件 编译内核 若出现scripts/sign-file.c:23:30: fatal error: openssl/opensslv.h错误 sudo apt -get install libssl -dev 我是在x86_64的目录下找到了该镜像文件linux-source-4.13.0/arch/x86_64/boot/bzImage 如果用户在配置内核时设置了可加载模块,则需要对这些模块进行编译,以便将来使用insmod命令进行加载。 其实我们上面编译的Android源码他的内核源码Google已经编译好了 make modelus_install 安装模块 文章来源: 编译Linux内核 4.13

[Linux下的QT]介绍使用qmake编译QT程序

匿名 (未验证) 提交于 2019-12-02 21:59:42
注意:这里介绍的qmake编译不包括在Linux上使用命令写QT文件,前提是所有的qt文件均已写完.(命令执行在代码路径下) (1)先判断Linux中qmake是否存在可用. qmake 报错: qmake: could not exec '/usr/lib/i386-linux-gnu/qt4/bin/qmake': No such file or directory (2)如果出现报错,则需要设置一下.没有报错执行(3) (2.1)查看qmake: ls -l qmake 一般情况卡均会发现qmake是指向qtchooser的,因此杰西莱要修改qtchooser的配置文件. (2.2)查看qtchooser的配置环境信息 qtchooser -print-env 注意:后续要将QTTOOLDIR跟QTLIBDIR的内容添加到qtchooser的配置文件中.所以要记住. (2.3)查找qtchooser的配置文件: 在usr的当前目录下查找: cd usr find ./ | grep qtchooser 直接修改文件:./lib/i386-linux-gnu/qt-default/qtchooser/default.conf vim ./lib/i386-linux-gnu/qt-default/qtchooser/default.conf 添加(2.2)步骤中的环境变量信息.

自己编译安装OpenCV (linux/windows)

匿名 (未验证) 提交于 2019-12-02 21:59:42
OpenCV 是(Open Source Computer Vision Library)的简称,在计算机视觉领域中是一个非常重要的开源库,该库使用的是BSD开源协议,这个开源协议非常的开放,具体开放到什么程度,它允许你使用源代码进行你自己项目的开发,当然你的项目既可以开源也可以不开源,所以说非常的开放,你也可以用BSD协议的开源代码更改后用作商业用途,但是也有一定的限制,也不能说是限制,可能算是一种协议精神吧,如果二次开发的产品包含源BSD协议的代码,则需要在我们的产品源代码中带有原来的BSD协议,如果开发的是非源代码项目(软件、库),则需要在我们的文档中声明有部分代码使用BSD协议。还有就是不能用开源作者和其产品对我们自己的产品做宣传。开源这个词引来的话题也非常的多,感兴趣的同学可以看一下这本书《The success of open source》。好了BSD协议就简单说这些,可能大家已经迫不及待的跳到下面的步骤了,不过没关系,网络资源各取所需,对故事感兴趣的人自然就会读一读故事。当然,这里没有太多的故事。 好了我们简单知道OpenCV是用来做计算机视觉相关内容的一个开放性很大的开源库就OK了,网上很多关于安装OpenCV的教程,我自己也是安装了好多次,所以今天把一些经验写下来,供大家参考。 刚刚接触到OpenCV的同学都会纠结同一个问题:选那个版本好呢?有人说选2. ,

ubuntu16.04 linux 编译安装apache2.4.33

匿名 (未验证) 提交于 2019-12-02 21:59:42
下载软件包: wget http://mirror.bit.edu.cn/apache//httpd/httpd-2.4.33.tar.gz wget http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-1.6.3.tar.gz wget http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-util-1.6.1.tar.gz 首先需要安装apr和apr-util tar xf apr-1.6.3.tar.gz cd apr-1.6.3/ ./configure sudo make sudo make install 安装apr-util: ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr sudo make sudo make install 这两个必不可少,如果缺少其他的依赖,请自行百度 安装apr-util的,在编译的时候报错: xml/apr_xml.c:35:19: fatal error: expat.h: No such file or directory 解决方法: sudo apt-get install libexpat1-dev 还有其他依赖: 1,pcre sudo apt

linux编译内核make menuconfig报错Unable to find the ncurses libraries解决办法

匿名 (未验证) 提交于 2019-12-02 21:59:42
在 linux 编译内核时 make menuconfig 报了下面的错误。 *** Unable to find the ncurses libraries or the *** required header files. *** 'make menuconfig' requires the ncurses libraries. *** Install ncurses (ncurses-devel) and try again. 这是因为系统中缺少 ncurses-devel,安装一下就可以了 CentOS: yum install -y ncurses-devel Ubuntu: sudo apt-get install ncurses 作者:专新新,发布于 转载请注明出处,欢迎邮件交流: zhuanxinxin@foxmail.com 文章来源: linux编译内核make menuconfig报错Unable to find the ncurses libraries解决办法

Linux服务器开发:工具

匿名 (未验证) 提交于 2019-12-02 21:59:42
预处理 将所有#defined删除,并且展开 处理所有条件预处理指令 处理#include,将被包含的文件插入到该预编译指令的位置 过滤所有的//、/**/ 保留所有#pragma编译指令 编译 词法分析 语法分析 语义分析 代码分析 目标代码生成 汇编 链接 静态链接 动态链接 来源:博客园 作者: 5572 链接:https://www.cnblogs.com/zsczsc/p/11776480.html

libiec61850开源库源码编译arm-linux版本库

匿名 (未验证) 提交于 2019-12-02 21:59:42
软件环境: 系统:ubuntu 14.04 64位Linux系统 交叉编译工具:gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf,安装路径为/usr/local/oecore-x86_64 使用交叉工具链编译arm-linux版本库: 1、下载 下载libiec61850库源码并解压,当前使用的开源库版本为1.0.0版本,存放路径为:/home/u/libiec61850-1.0.0 2、进入源码目录: cd /home/u/libiec61850-1.0.0/ 3、修改make/target_system.mk文件 (1)修改ARM_TOOLCHAIN_PREFIX为指定的交叉编译工具链前缀 这里修改为:arm-angstrom-linux-gnueabi-,即 ARM_TOOLCHAIN_PREFIX=arm-angstrom-linux-gnueabi- 注:确定当前交叉编译工具链方法如下: a、配置环境: source /usr/local/oecore-x86_64/environment-setup-armv7at2hf-vfp-neon-angstrom-linux-gnueabi b、查看当前交叉编译工具链: echo $CC 输出信息如下: arm-angstrom-linux-gnueabi-gcc