Linux编译程序时的一些注意事项
作者:网络转载 发布时间:[ 2014/4/24 9:59:03 ] 推荐标签:Linux 程序 C语言
近一个星期都在搞Linux下的一些开源项目,其实很早之前有捣鼓过,这次再次遇到之前编译程序时遇到的一些问题,因此在这里做一下记录。
一、在C++程序里要包含C语言写的程序的头文件时,在C++文件里应该这样来包含:
extern "C"
{
#include "你的头文件"
}
注意:这里是大写的C。
举个例子:在一个目录里有main.cpp hello.c hello.h三个文件,而main.cpp文件里要用到hello.c里的函数,那么在main.cpp里要通过包含hello.h头文件来调用hello.c里的函数,因此在mian.cpp里应该这样写:
extern "C"
{
#include "hello.h"
}
否则编译链接时会提示找不到相应的函数,比如:
:(.text+0 x7): undefined reference to ...
二、编译一些程序时,可能会遇到找不到相应的库等问题,这时可以通过下载相应的库的源码来自己编译、安装。
自己通过下载源码来编译安装的库大多数情况下会默认安装在/usr/local目录下,虽然已经编译安装了,但编译程序时还会提示找不到对应的库,此时需要在/etc/ld.so.conf里添加一行/usr/local/lib,还需要通过命令:
ldconfig -v
来更新。
所以,以后每次往/usr/local/lib里添加库文件时好都ldconfig -v 一下。
三. 查看可执行文件所依赖的库
1. PC Linux上:
如:#ldd /mypath/hello
2. ARM Linux上:
如:#arm-linux-readelf -d hello
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11