Qt 中如何使用动态库.so文件或者静态库.a文件

我创建了一个简单的student类student.h,如下:#include<QString>classStudent{public:voidsetID(constint... 我创建了一个简单的student类student.h, 如下:
#include <QString>
class Student{
public:
void setID(const int id){this->id = id;}
int getID()const{return id;}
void setName(const QString name){this->name = name;}
QString getName()const{return name;}
private:
int id;
QString name;
}
我把它编译成静态文件,Student.pro文件的内容如下:
TEMPLATE = lib
TARGET =
DEPENDPATH += .
INCLUDEPATH += .
CONFIG+=staticlib
# Input
HEADERS += student.h
这样运行之后,就会产生一个libstudent.a文件,如果在其他项目使用这个libstudent.a文件,要怎么使用?

这个libstudent.a就应该是一个非开源的lib包吧?其他人是不是导入就可以使用了?怎么使用?

还有动态的.so怎么用?回答的好,我还可以加分
静态的我搞定了,请问动态的怎么用
我是在windows下做的,静态的使用libstudent.a文件就可以了
动态的产生了libstudent.a 文件,和student.dll文件,徐啊哟用那个文件?
我运行不会出错,但是debug就会抛出一个错误
during startup program exited with code 0xc0000135 是这个错误
展开
 我来答
starfar1983
推荐于2017-11-23 · TA获得超过2258个赞
知道小有建树答主
回答量:692
采纳率:0%
帮助的人:1032万
展开全部
对的,.a是静态链接库,相当于windows上的lib文件。.so是动态连接库,相当于windows上的dll文件。用法:
1. 把libstudent.a拷贝到/usr/lib或者/lib目录下
2. 比如你的项目是test.c,可以这么编译:gcc -o test test.c libstudent.a 或者gcc -o test test.c -lstuent

.so库的用法一样。

补充:
早说你在windows平台嘛。。是用cygwin吗?把libstudent.a复制到/usr/lib或者/lib目录下,把dll复制到exe所在的目录。
.a文件是编译exe需要的,.dll文件是exe运行时需要的。
百度网友6521f69
2010-12-22 · TA获得超过247个赞
知道小有建树答主
回答量:205
采纳率:0%
帮助的人:181万
展开全部
用静态的编译好程序,把动态的放到程序运行时的目录应该就会自动调用的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
nqgfa65
2010-12-23 · TA获得超过225个赞
知道答主
回答量:281
采纳率:0%
帮助的人:183万
展开全部
你可以试试haozip好压,这个应该可以解压,而且跨平台。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式