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 是这个错误 展开
#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 是这个错误 展开
展开全部
对的,.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运行时需要的。
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运行时需要的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询