库安装包编译安装

编译安装三步走

./configure --prefix=/usr/local    一般来说不需要指定安装目录
make
make install

1、libusb 安装

官网下载后发现无法编译,没有configure,只有configure.ac文件

网上教程: 进入libusb目录,依次执行:→aclocal→autoconf→autoheader。 可能遇到的问题: 1.aclocal: warning: couldn't open directory 'm4': No such file or directory 原因是没有m4目录,创建“m4” mkdir m4 2./configure:cannot find install-sh, install.sh, or shtool in "." "./.." "./../.."
autoreconf -vif执行后再执行三部曲

aclocal----->automake autoconf--->autoconf m4--------->m4

apt install autoconf即可,会自动安装依赖

2、关于usr/bin/ld: cannot find -lxxx问题总结

/usr/bin/ld: cannot find -lxxx

意思是编译过程找不到对应库文件。其中,-lxxx表示链接库文件 libxxx.so。

find . -type f -delete或find . -type f -exec rm -f {} \;
find . -type f | xargs rm -f
rm-f `find . -type f`

3、找不到kernel/define.h头文件

参考:https://blog.csdn.net/Rolandxxx/article/details/126804780

头文件搜索顺序: ①先搜索当前目录 ②然后搜索-I指定的目录 ③再搜索gcc的环境变量CPLUS_INCLUDE_PATH(C程序使用的是C_INCLUDE_PATH) ④最后搜索gcc的内定目录

/usr/include
/usr/local/include
/usr/lib/gcc/x86_64-redhat-Linux/4.1.1/include

库文件搜索顺序: 编译的时候: ①gcc会去找-L ②再找gcc的环境变量LIBRARY_PATH ③再找内定目录 /lib /usr/lib /usr/local/lib

include路径添加: 除了默认的/usr/include, /usr/local/include等include路径外,还可以通过设置环境变量来添加系统include的路径: C export C_INCLUDE_PATH=XXXX:$C_INCLUDE_PATH

CPP export CPLUS_INCLUDE_PATH=XXX:$CPLUS_INCLUDE_PATH 以上修改可以直接命令行输入(一次性),可以在/etc/profile中完成(对所有用户生效),也可以在用户home目录下的.bashrc或.bash_profile中添加(针对某个用户生效),修改完后重新登录即生效。

注意直接声明变量值是无法生效的,需要使用export声明变量才行。

results matching ""

    No results matching ""