程序运行的一些基础知识
1. 编译程序时去哪里找头文件?
系统目录:就是交叉编译工具链里的某个 include
目录;也可以自己指定。编译时用 -I dir
选项指定。
2. 链接时去哪里找库文件
系统目录:就是交叉编译工具链里的某个 lib
目录;也可以自己指定。链接时用 -L dir
选项指定。
3. 运行时去哪里找库文件
系统目录:就是板子上的 /lib
、 /usr/lib
目录;也可以自己指定。运行程序用环境变量 LD_LIBRARY_PATH
指定。
注意:
运行时不需要头文件,所以头文件不用放到板子上
常见错误的解决方法
1. 头文件问题
编译时找不到头文件。在程序中如果是这样包含的头文件:#include <xxx.h>
这种尖角号里的头文件,去哪里找?
答案是:系统目录。
也就是交叉编译工具链里面的某个 include
目录。
当然也可以自己指定;编译时用 -I dir
选项指定。
如何确定系统目录呢?
可以执行如下语句
echo ‘main(){}’| arm-buildroot-linux-gnueabihf-gcc -E -v -