当前位置: 技术问答>linux和unix
linux下如何调用动态库中的类?
来源: 互联网 发布时间:2015-10-07
本文导语: 我已经incude头文件了,link时过不去。linux下是否也有象windows里lib的东西。 我看到有人用动态的加载,这个好像只能调函数。我想使用里面的类。 还用静态库(就是*.a)的文件怎么调呀。 是不是要写make文件,大侠说...
我已经incude头文件了,link时过不去。linux下是否也有象windows里lib的东西。
我看到有人用动态的加载,这个好像只能调函数。我想使用里面的类。
还用静态库(就是*.a)的文件怎么调呀。
是不是要写make文件,大侠说清楚点,我以前没用过linux。
我看到有人用动态的加载,这个好像只能调函数。我想使用里面的类。
还用静态库(就是*.a)的文件怎么调呀。
是不是要写make文件,大侠说清楚点,我以前没用过linux。
|
加-l参数
比如你有一个libtest.so
加参数 -ltest
比如你有一个libtest.so
加参数 -ltest
|
如果只有几个,那编译的时候用 -l是可以的,不过如果是大型的就要用makefile了,linux和windows调用原理是一样的,如果你link不过去多半是文件没有放在正确的位置(LD_LIBRARY_PATH 内),一般都是头文件包含就可以了,你说的动态加载和静态没区别,都将文件的位置写入系统变量LD_LIBRARY_PATH 就可以了。
|
我用过,可以用的.程序里inlcude头文件,编译时指出库的路经和库名称就行了.
|
调类跟普通函数有所不同,一般的操作是使用一个函数返回类指针,然后再针对该类指针进行操作。
你可以试一试。
另外,对于静态库(就是*.a),除了头文件,就是在连接时把该库文件加进去就可以了。
你可以试一试。
另外,对于静态库(就是*.a),除了头文件,就是在连接时把该库文件加进去就可以了。
|
mark
|
ldd xxx