码迷,mamicode.com
首页 > 系统相关 > 详细

第2步 - 设置Ubuntu系统

时间:2019-07-20 23:07:42      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:ati   导致   交叉编译   ima   生成   线程   软件包   -fpic   info   

Ubuntu系统安装完成后,还需要进行一些设置,使得Ubuntu变得更好用。

 

第1步:vim编辑器的设置

vim编辑器设置见:https://www.cnblogs.com/wybliw/p/10237197.html

这里面介绍了如何将vim搭建成一个好用的IDE,效果图如下。

技术图片

目录树,函数预览,智能补全,语法错误提示,自动添加函数注释 等各种强大的功能,等着你去探索。

 

第2步:搭建交叉编译环境。

根据自己的需要,下载相关的交叉编译器,

技术图片

我将交叉编译器放在MyTools目录下,然后在该目录下,我创建了bash.bashrc的软连接文件,方便管理交叉编译器。

 技术图片

软连接的创建方法可自行网上搜索,或者等后期我会出一篇《linux基本命令的使用》的文章。

然后用vim编辑器编辑MyTools目录下的bash.bashrc软连接文件,

执行命令:

sudo vim  bahs.bashr

 

在最后添加如下内容:

 # ARM 交叉编辑环境配置
   arm_target=AA    # AA 交叉编译器
 # arm_target=BB    # BB 交叉编译器

 if [ "$arm_target" = AA ]; then
     export PATH=$PATH:/home/bob/MyTools/AA/4.5.1/bin
 elif [ "$arm_target" = BB ]; then
     export PATH=$PATH:/home/bob/MyTools/BB/4.9.3/bin
 fi
     export GCC_COLORS=auto

该配置方法,能很方便的切换不同的交叉编译器环境。

当想要启用AA交叉编译环境时,就取消AA的注释,

当想要启用BB交叉编译环境时,就取消BB的注释。

环境配置好后,输入命令:

arm-none-linux-gnueabihf-gcc -v

查看当前交叉编译器的版本。

 

第3步:安装 pthread 线程 man手册文档

pthread函数库的man手册,安装

sudo apt-get install glibc-doc


只有一小部分pthread的函数,再安装manpages-posix-dev就ok.

sudo apt-get install manpages-posix manpages-posix-dev

 

 

 第4步: Linux 64位系统编译32位链接库
由于在编译生成  libtest.so  时增加了  -m32  这个参数,导致  libtest.so 是一个 32 位的动态库,而链拉步骤没有改

gcc -m32 main.c -L./ -o main -ltest 
gcc -m32 -shared -fPIC test.c -o libtest.so 


在64位机上编译32位的程序首先需要  ia32-libs 这个动态的支持,看一下  /usr/lib32 这个目录下有没有东西,如果没有, Ubuntu上安装这个包:

sudo apt-get install ia32-libs ia32-libs-multiarch 


如果在加入 -m32 这个参数时编译仍然有问题,比如

In file included from /usr/include/stdio.h:28:0,
from AVAPIs_Client.c:1:
/usr/include/features.h:324:26: fatal error:bits/predefs.h: No such file or directory compilation terminated.
make: *** [all] Error 1


这通常是由于没有32位的编译工具引起, 需要安装 gcc-multilib  这个软件包.
在Ubuntu 上安装这个软件包:

sudo apt-get install gcc-multilib 

 
g++ 也同样如此:

sudo apt-get install g++-multilib 


到这里,编译32位程序应该没有问题了,运行程序的时候记得修改 LD_LIBRARY_PATH 这个变量,否则程序会找不到指定的动态库.

export LD_LIBRARY_PATH=/home/user/lib/****:$****LD_LIBRARY_PATH

 

 

 linux终端按ctrl+s后界面卡住的解决

 ctrl+s 在linux下是暂停终端的作用,停止向终端输入

解决方案:
按下 ctrl+q ,恢复向终端输入

 

 

原创,转载请注明出处。

 

第2步 - 设置Ubuntu系统

标签:ati   导致   交叉编译   ima   生成   线程   软件包   -fpic   info   

原文地址:https://www.cnblogs.com/wybliw/p/11219558.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!