zoukankan      html  css  js  c++  java
  • 第2步

    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 ,恢复向终端输入

    原创,转载请注明出处。

  • 相关阅读:
    Http的响应结构
    jQuery ajax
    什么是序列化和反序列化
    Ubuntu 安装 Anaconda3 步骤
    mysql 带换行符的字符串数据插入数据库异常
    Elasticsearch之Analysis(分析器)
    python 使用 xlrd、xlwd读写excel表格
    测试
    elasticsearch中的mapping简介
    Elasticsearch索引的操作,利用kibana 创建/删除一个es的索引及mapping映射
  • 原文地址:https://www.cnblogs.com/wybliw/p/11219558.html
Copyright © 2011-2022 走看看