狮子的雄心,骆驼的耐力,孩子的执著!
分类: LINUX
2016-12-16 09:38:51
$ export PATH=$PATH:/opt/gcc-4.3/bin
//设置PATH,一般为可执行文件的路径
$ export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/home/test/test-lib/lib/pkgconfig
//设置PKG_CONFIG_PATH,用来查找库的存放,链接信息(.pc文件)
eg:
$ ./configure
出错信息:
checking for XCBPROTO... configure: error: Package requirements (xcb-proto >= 1.5) were not met:
No package 'xcb-proto' found
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
参考解决方法:
$ pkg-config –list-all | grep “x*” -i
没有发现xcb-proto
手动安装xcb-proto(比如:安装在/home/loongson/lib)
$ export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/home/loongson/lib/pkgconfig
$ ./configure
$ export CFLAGS="-g -I/opt/gcc-3.4.6/include/"
//设置CFLAGS ,用来指定头文件的路径(linux的默认头文件位置为:/usr/include)
$ export C_INCLUDE_PATH=/usr/include:/usr/local/include
//设置C_INCLUDE_PATH ,用来指定头文件的路径
$ export LDFLAGS="-L/opt/gcc-3.4.6/mipsel-linux/lib -Wl,--rpath-link -Wl,/home/loongson/lib_mipsel/mylib/lib"
//设置LDFLAGS,用来指定库文件的搜索路径(linux的默认库文件位置为:/lib,/usr/lib)
eg:
$ make
出错信息:
/opt/gcc-3.4.6/bin/../lib/gcc/mipsel-linux/3.4.6/../../../../mipsel-linux/bin/ld: warning: l ibXau.so.6, needed by /home/loongson/lib_mipsel_gcc3.4.6/lib/libxcb.so, not found (try using -rpath or -rpath-link)
参考解决方法:
情况是:libxcb.so,libXau.so.6, 都已安装到了一个目录
在LDFLAGS后面加上路径与库名
-L/home/loongson/lib_mipsel_gcc3.4.6/lib -lxcb -lXau
或者:
$ make CC="mipsel-linux-gcc -rpath/home/loongson/lib_mipsel_gcc3.4.6/lib -L/home/loongson/lib_mipsel_gcc3.4.6/lib -lxcb -lXau"
或者:
$ export LDFLAGS="-L/opt/gcc-3.4.6/mipsel-linux/lib -Wl,--rpath-link -Wl,/home/loongson/lib_mipsel/mylib/lib"
$ ./configure
$ make
gcc的选项“-Wl,--rpath-link –Wl,DIR”会把-rpath-link选项及路径信息传递给链接器;'-rpath'跟'-rpath_link'的不同之处在于,由'-rpath'指定的路径被包含在可执行文件中,并在运行时使用, 而'-rpath-link'选项仅仅在连接时起作用
$ export LD_LIBRARY_PATH=/opt/gtk/lib:$LD_LIBRARY_PATH
//设置LDFLAGS,用来指定库文件的搜索路径
其作用是跟ld.config执行(/etc/ld.config的文件里有默认的库搜索路径,你可以往里面添加,然后执行$ sudo ld.config,这样的缺点是它是全局设置的)的效果一样的
$ export ACLOCAL="aclocal -I/usr/local/share/aclocal"
//设置 ACLOCAL ,用来指定某些程序安装的路径
eg:
$ ./autogen.sh
出错信息:
Aclocal:util-macros needed >=1.5.0 but met is util-macros-1.1.0
参考解决方法:
安装util-macros-1.11.0(默认安装目录:/usr/local)
$ ./autogen.sh
出错信息:
Aclocal:util-macros needed >=1.5.0 but met is util-macros-1.1.0
参考解决方法:
$ export ACLOCAL="aclocal -I/usr/local/share/aclocal"
$ ./autogen.sh
$ export LD_PRELOAD=/usr/local/lib/preloadable_libiconv.so
//设置 LD_PRELOAD,用来指定程序动态加载库的路径
eg:
$ ./rdesktop
出错信息:
./rdesktop: error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory
参考解决方法:
$ export LD_PRELOAD=/usr/local/lib/libiconv.so.2
$ ./rdesktop
2011-03-04