【Ubuntu】cannot find -lixxx && fatal error: xxx.h: No such file or directory 解决方法参考


1. 前言

    今天在Ubuntu下安装skyeye准备用于嵌入式开发,在编译的过程中遇到了cannot find -lixxx 和 fatal error: xxx.h: No such file or directory 这两种错误,经谷歌和查阅相关资料,发现这两种错误不是只是在skyeye安装过程中才会出现的,而是在很多软件源码的build 过程中均会出现,原因大多是:缺少依赖库文件,而解决方法是重新下载该需要的库文件,或是把库文件复制到path环境变量可以找到的目录(或者是直接把该库文件的目录加到path中)。对于本文中谈到的两种错误:“cannot find -liconv ”类错误使用的是第一种解决方法,而  “ fatal error: xxx.h: No such file or directory ”类错误使用的是第二种解决方法。

2. 常见错误
    

  • /usr/bin/ld: cannot find -lxxx
  • /usr/bin/ld:  cannot find -liconv
  • fatal error: gtk/gtk.h: No such file   /usr/include/glib-2.0/glib/gtypes.h:34:24:
  • fatal error: glibconfig.h: No such file ordirectoryor directory” using make
  • fatal error: Python.h: No such file ordirectory
  • /usr/include/gdk/gdktypes.h:55:23: fatal error: gdkconfig.h: No such file ordirectory
  • error: glib.h: No such file or directory
    等等,在此不多列举,解决方法类似。

3. 解决方法

     3.1 /usr/bin/ld:  cannot find -liconv 的解决方法
                  在Ubuntu下,在shell 中输一下命令
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz
tar xvfz libiconv-1.13.1.tar.gz
cd libiconv-1.13.1
./configure --prefix=/usr/local/libiconv/1.13.1
make
sudo make install
           注:       上边命令的第四行为设置安装目录,例子中安装在/usr/local/libiconv/1.13.1 目录下,你也可以设置自己的目录,关键在于安装完之后要把安装目录中的bin与lib文件复制到path可寻找的目录中:
                【Ubuntu】cannot find -lixxx && fatal error: xxx.h: No such file or directory 解决方法参考_第1张图片
            注:上图实例中,libiconv安装在 /usr/local/Cellar/libiconv/1.13.1  下,然后将该目录下的bin目录下的文件全部复制到 /usr/bin 下,将lib目录下的全部文件复制到 /usr/lib 目录下,将include目录下文件复制到/usr/include目录下,这样重新编译你自己的程序时就能找到 iconv了。

     3.2 fatal error: gtk/gtk.h: No such file 类错误的解决方法
        错误举例:
/usr/include/gtk/gtk.h:32:21: fatal error: gdk/gdk.h: No such file or directory
      
             解决方法:                
     cp -pr /usr/include/gtk-2.0/gdk /usr/include/

          






参考文章:

              https://github.com/smparkes/zxing.rb/issues/3 
              http://askubuntu.com/questions/397432/fatal-error-gtk-gtk-h-no-such-file-or-directory-using-make
              https://bugs.launchpad.net/ubuntu/+source/glib2.0/+bug/793155
              http://www.linuxintro.org/wiki/Error_messages_and_their_solutions
             http://stackoverflow.com/questions/21530577/fatal-error-python-h-no-such-file-or-directory 

你可能感兴趣的:(Error:记住曾犯下的错误)