linux基础知识

来源:互联网 发布:我家我设计软件 编辑:程序博客网 时间:2024/05/16 15:51

问题:

1  尝试gdb编译环境时显示无法找到头文件<aura/aura.h>.怎么解决?

 

尝试用 gedit~/.bashrc去添加搜索路径,当时没有成功。因为只是单纯地根据报错信息去包含aura.h,其实不是这方面的问题。

 

http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=14735472&id=5214282

这是添加一些常用路径的连接:

对所有用户有效在/etc/profile增加以下内容。

如果只对当前用户有效在Home目录下的.bashrc或.bash_profile里增加下面的内容:

(注意:等号前面不要加空格,否则可能出现 command not found)

 

#在PATH中找到可执行文件程序的路径。

export PATH =$PATH:$HOME/bin

#gcc找到头文件的路径

C_INCLUDE_PATH=/usr/include/libxml2:/MyLib

export C_INCLUDE_PATH

#g++找到头文件的路径

CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/usr/include/libxml2:/MyLib

export CPLUS_INCLUDE_PATH

#找到动态链接库的路径

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/MyLib

export LD_LIBRARY_PATH

#找到静态库的路径

LIBRARY_PATH=$LIBRARY_PATH:/MyLib

export LIBRARY_PATH

 

2.如果编译的时候出现问题,怎么尝试去解决问题?

 

方法:用make VERBOSE=1 来打印整个工程编译信息然后对照自己的输入指令去找到问题。

 

3.重新编译后 无法正确按照 make VERBOSE=1正确的输出编译信息。

原因:如果工程文件没有改动那么系统是不会再次编译的这个时候自然打印不出编译信息。正确的方法是先 make clean一下  清除生成的文件 ,再make,成功,或者直接 makeVERBOSE=1。

 

3.在使用gcc编译时,编译为.o(obj)文件没有问题,但是链接为可执行文件的时候会出现找不到’xxx’的定义的情况,为何?

原因:主要是C/C++编译为obj文件的时候并不需要函数的具体实现,只要有函数的原型即可。但是在链接为可执行文件的时候就必须要具体的实现。如果错误是未声明的引用,那就是找不到函数的原型,通常是相关的头文件未包含,如果是未定义的引用,那么不是函数本身没有实现的情况,就是链接库的时候出问题。

 

4.如何复制文件到系统目录?

 

 1.打开终端,输入#su;此时便切换到root下;

 2.cp –r 路径/文件 路径/文件,回车

 

5.链接文件是什么,如何链接?

 

示例:ln –s /home/yanyp/program/aura/build/libaura.so.3/usr/lib/libaura.so

功能:为某一个文件在另外一个位置建立一个同不的链接,这个命令最常用的参数是-s,

具体用法是:ln-s 源文件 目标文件

 

当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间

注意

1.ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化

2.ln的链接有软链接 和硬链接两种,软链接就是ln -s ** **,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬链接ln ** **,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步

 

6.linux删除文件夹和文件的命令?

 

1 删除文件夹实例:

  rm –rf /var/access

-r表示向下递归,不管有多少级目录,一并删除

-f直接强行删除,不做任何提示

 

2.删除文件夹实例:

 rm –f /var/access.log

将会强制删除access.log这个文件

 

7.如何使得图形桌面操作获得root权限?

 

 命令 sudo nautilus

 

原创粉丝点击