1. 程序运行的一些基础知识
1. 编译程序时去哪找头文件?
系统目录:就是交叉编译工具链里的某个 include 目录;也可以自己指定:编译时用 “ -I dir ”选项指定。
2. 链接时去哪找库文件?
系统目录:就是交叉编译工具链里的某个 lib 目录;也可以自己指定:链接时用 “ -L dir ”选项指定。
3. 运行时去哪找库文件?
系统目录:就是板子上的/lib、/usr/lib 目录;也可以自己指定:运行程序用环境变量 LD_LIBRARY_PATH 指定。
2.常见错误的解决方法
1.怎么确定“系统目录”?执行下面命令确定目录:
echo 'main(){}' | arm-linux-gnueabihf-gcc -E -v -
3. 运行问题
运行程序时找不到库,例如:
error while loading shared libraries: libxxx.so:
cannot open shared object file: No such file or directory
找不到库,库在哪?
① 系统目录:就是板子上的/lib、/usr/lib 目录
② 也可以自己指定:
运行程序用环境变量 LD_LIBRARY_PATH 指定,执行以下的命令:
export LD_LIBRARY_PATH=/xxx_dir ; ./test
或
LD_LIBRARY_PATH=/xxx_dir ./test
手机扫一扫
移动阅读更方便
你可能感兴趣的文章