qt windows linux
dll .dll .so
lib 对应 a archiver的缩写 为静态库,是好多个.o合在一起,用于静态连接
dll 对应 so share object 共享库
lib文件:(依据编译器) MSVC编译器是生成.lib 文件,文件名不变。 mingw编译器生成.a 文件,此外会在目标名称(即在.pro 文件中的TARGET)前面加lib
dll文件:(依据平台) windows平台是.dll 文件,unix平台是.so
静态链接库设计导出类,包括ui窗口类,对话框类。
在.pro文件中
TEMPLATE = lib
CONFIG += staticlib
TARGET =
编译静态链接库时,不管是debug还是release版本,编译生成都是相同的文件名,并不会为debug版本自动添加一个字母“d”.
但是在debug或者release版本编译应用程序时,需要使用相应版本库文件。所有需要手动将debug版本的静态库更名,即在文件名后加上字母“d”,如 myStaticLib.lib => myStaticLibd.lib .
方法是:
1.在应用程序的源程序目录下新建一个include文件夹,把.h头文件和.lib静态链接库文件都拷贝过去。
2.在项目管理目录树右键,选择“add library”,选择库类型“external library”(即外部库),连接类型必须选择"static",因为是静态库。
勾选add "d"suffix for debug version.使在debug模式下,应用程序自动调用debug版本的库文件。