makefile错误、找不到头文件、交叉编译
2021/7/14 6:07:51
本文主要是介绍makefile错误、找不到头文件、交叉编译,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、*** No rule to make target '
disp_manager.h', needed by '
disp_manager.o'. Stop.
错误原因:
1、编译依赖错误,
2、引用之前使用过得makefile 当make clean 时 一些依赖并没有全部清除
解决:
使用 make distclean 彻底清除**
二、fatal error: ft2build.h: No such file or directory
描述:已经把编译好的库 头文件都放到交叉编译得目录里还是报错
错误原因:
1、是系统中没有相关的头文件,
2、是在编译过程中,gcc和g++没有找到对应的头文件,并不是系统中不存在文件。
解决方法:
在编译过程中,添加头文件路径
export C_INCLUDE_PATH=/home/book/100ask_imx6ull-sdk/ToolChain/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin/../arm-linux-gnueabihf/libc/usr/include/freetype2(对应头文件的位置) export CPLUS_INCLUDE_PATH=/.../freetype2 (对应头文件的位置)
其他指定方法
#在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
三、交叉编译万能公式
查看头文件、库文件得系统目录
echo 'main(){}'| arm-linux-gnueabihf-gcc -E -v -
手工交叉编译:
如果交叉编辑工具链的前缀是 arm–linux-gnueabihf-,比如 arm–linux-gnueabihf-gcc,交叉编译开源软件时,如果它里面有 configure,万能命令如下:记得运行前要设置好环境变量
设置环境变量:
export ARCH=arm export CROSS_COMPILE=arm-linux-gnueabihf- export PATH=$PATH:/home/book/100ask_imx6ull-sdk/ToolChain/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin
万能编译:
./configure --host=arm--linux-gnueabihf --prefix=$PWD/tmp make make install
–host = xxx 根据自己的交叉编译工具链前缀更改
编译安装好后,进入tmp目录 把头文件和库文件考到对应的系统目录
头文件:
cp include/* -rf /home/book/100ask_imx6ull-sdk/ToolChain/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin/../arm-linux-gnueabihf/libc/usr/include
库文件:
cp lib/* -rfd /home/book/100ask_imx6ull-sdk/ToolChain/gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf/bin/../arm-linux-gnueabihf/libc/usr/lib/
这篇关于makefile错误、找不到头文件、交叉编译的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-16使用vue3+springboot构建简单Web应用教程
- 2024-11-15全栈开发项目实战:从入门到初级项目的实现
- 2024-11-15数据库项目实战:从入门到初级应用教程
- 2024-11-15IDEA项目实战入门教程
- 2024-11-15IT编程项目实战:新手入门的全面指南
- 2024-11-15Java开发项目实战:新手入门与初级技巧
- 2024-11-15Java零基础项目实战:从入门到独立开发
- 2024-11-15MyBatis Plus教程:入门与基础操作详解
- 2024-11-15MyBatis-Plus教程:新手入门与实战技巧
- 2024-11-15MyBatis教程:从入门到实践