gcc连接静态库成功,g++连接静态库不成功
来源:互联网 发布:左左网源码 编辑:程序博客网 时间:2024/06/04 23:31
原文链接:http://xiaomage.blog.51cto.com/293990/72755
linux下用g++编译代码,在连接一个c的静态库的时候,总是提示: undefined reference to`错误,找不到库函数。
main.c:(.text+0x15): undefined reference to `MemoryContextInit()'
main.c:(.text+0x26): undefined reference to `MemoryContextDestory()'
用gcc编译就可以通过。
其实,代码不是面向对象的c++语言,开始没有想到是c++调用c函数的问题。
开始是以为库的路径不对;make文件中库的顺序不对;等等方法,都没有效果。
百试不得出路之后,才发现是extern “C”的问题。
用g++编译c的库函数,没有问题,可以生成目标文件.o,但是c++的命名机制已经将调用的库函数改名称了。
说以必须在c库函数前加上 extern “C”。
如果一个一个函数转换,是可行的
extern “C” MemoryContextInit();
但是为了能够一次完全转换,采用将整个库的头文件引用改为如下方式:
extern "C"
{
#include "../lib/libxxx.h"
}
这样就可以连接通过啦。
- gcc连接静态库成功,g++连接静态库不成功
- “GCC连接静态库成功,G++连接静态库不成功”的解决方法
- “gcc连接静态库成功,g++连接静态库不成功”的原因
- “GCC连接静态库成功,G++连接静态库不成功”的解决方法
- gcc同时连接静态和动态库
- gcc链接静态库成功但是g++失败
- freeImage静态库连接
- makefile连接静态库
- 多重静态库连接
- 静态连接库
- VC++静态连接库
- cmake连接静态库
- gcc混合连接静态库和动态库
- gcc 混合连接动态库和静态库
- gcc混合连接动态库和静态库选项
- Gcc编译连接动态库和静态库
- gcc/g++ 静态动态库 混链接.
- gcc/g++ 静态动态库 混链接.
- C# 字节数组操作
- 分享31个非常有用的HTML5教程
- linux shell 编程简介
- test
- 单例形式模式
- gcc连接静态库成功,g++连接静态库不成功
- 如何设置(修改)jetty(maven插件maven-jetty-plugi)的端口
- Java 部分面试题
- ubuntu系统jdk安装的默认路径
- 5号笔记
- 我的火狐浏览器不兼容迅雷下载
- 大连网络赛 即 hdu 4003 Find Metal Mineral
- 解决 struts2上传的excel2007文件,在用poi处理时通过new XSSFWorkbook(inputStream)出错
- hadoop-config.sh小看