LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1027|回复: 5

要编译一个自己的静态库改用 gcc 什么参数.

[复制链接]
发表于 2004-7-30 10:43:45 | 显示全部楼层 |阅读模式
我用c 写好了一个程序功能模块 ., 但是现在有 一个 c++ 的类 要用到原来那一组 c程序的 函数..  直接调用时.老是出错(用c 来调用就没问题).
我想把原来那组c 程序编译成一个静态库 . 再来调用 试试..  但不知道怎样编译连接一个静态库...
发表于 2004-7-30 10:47:01 | 显示全部楼层
在c++中要对调用 的C函数声明extern "C"。不然连接时会出问题。
 楼主| 发表于 2004-7-30 11:51:23 | 显示全部楼层
我声明了的., 但是还是不行的.,
并且.,有些c和c++的东西似乎不大兼容..
发表于 2004-7-30 12:16:15 | 显示全部楼层
编译静态库,只需先编出 .o 文件,如 file1.o, file2.o 然后
shell> ar cru libyourlib.a file1.o file2.o
shell> ranlib libyourlib.a
 楼主| 发表于 2004-7-31 15:53:41 | 显示全部楼层
编译成库了 .,还是不能连接 %%5555555555555
出现的错误都是undefine reference to "............."
那个c 模块可是有将近1W 行的程序啊 ..
那个大哥有没有遇到过类似的 情况啊 ..
 楼主| 发表于 2004-7-31 16:38:12 | 显示全部楼层
最初由 kj501 发表
在c++中要对调用 的C函数声明extern "C"。不然连接时会出问题。


先 看到 斑竹 大哥的 没懂 啥意思., 现在懂了., 问题解决另外  

多谢斑竹大哥了 :thank :thank :thank :thank
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表