标题:关于qt中动态链接库的创建和使用
作者:noname100
日期:2006-06-03 20:27
内容:
我用gcc fname1.c fname2.c -fPIC -shared -o libname.so命令生成了一个动态链接库libname.so,在普通的c程序里面直接使用其中的方法,编译、连接gcc test.c -L. -lname -o test生成的test程序可以使用。
而我在qt的cpp文件里面使用其中的方法,在makefile对应位置添加了-L. -lname,开始报错undeclared,于是我在文件开头写了函数原形,报错undefined reference。能确定程序已经找到libname.so,因为如果我把-L.删除,会报找不到库的错。
请问问题可能处在哪里,是不是libname.so生成的时候有什么遗漏?
#1 [wylhistory 06-05 15:54]
请问:加了extern 吗?
#2 [noname100 06-30 00:41]
好像没有考虑耶,不是很清楚,能说具体些吗
#3 [XChinux 06-30 09:02]
就是说,如果你使用的是C语言写的库,在C++程序中使用的时候那么就要在声明的时候加上extern "C"来说明。
你可搜索一下extern "C"