这里写目录标题
1. 程序运行的一些基础知识
-
编译程序时去哪找头文件?
系统目录:就是交叉编译工具链里的某个 include 目录;也可以自己指定:编译时用 “ -I dir ”选项指定。
-
链接时去哪找库文件?
系统目录:就是交叉编译工具链里的某个 lib 目录;也可以自己指定:链接时用 “ -L dir ”选项指定。
-
运行时去哪找库文件?
系统目录:就是板子上的/lib、/usr/lib 目录;
也可以自己指定:运行程序用环境变量LD_LIBRARY_PATH 指定。 -
运行时不需要头文件,所以头文件不用放到板子上
2. 常见错误的解决方法
-
头文件问题
编译时找不到头文件。在程序中这样包含头文件:#include <xxx.h>对于尖括号里的头文件,去哪里找它?
系统目录:就是交叉编译工具链里的某个 include 目录;
也可以自己指定:编译时用 “ -I dir ”选项指定。 -
库文件问题
链接程序时如果有这样的提示:undefined reference to `xxx’,它表示 xxx 函数未定义。
解决方法
去写出这个函数或是使用库函数。怎么指定库?想链接 libabc.so,那链接时加上:-labc。 库在哪里?
◼ 系统目录:就是交叉编译工具链里的某个 lib 目录
◼也可以自己指定:链接时用 “ -L dir ”选项指定 -
运行问题
◼ 系统目录:就是板子上的/lib、/usr/lib 目录
◼ 也可以自己指定:运行程序用环境变量 LD_LIBRARY_PATH 指定,