采用一个非常简单的Qt程序作为例子,通过pro文件的合理编写,使得我们的程序在使用动态库的时候,几乎可以忽略掉动态库的存在。它包括3部分:
- 生成动态库
- 使用动态库
- 生成与使用的自动化
测试环境:
- ubuntu 12.04 + Qt 5.9.4
- windows vista + Qt 5.9.4(MinGW)
引子
一个非常非常简单的Qt的小程序,是吧?
- widget.h
#ifndef WIDGET_H
#define WIDGET_H
#include <QtGui/QWidget>
class Widget:public QWidget
{
Q_OBJECT
public:
Widget(QWidget * parent=0);
};
#endif // WIDGET_H
- widget.cpp (本文件内容不变)
#include "widget.h"
Widget::Widget(QWidget *parent)
:QWidget(parent)
{
}
- main.cpp (本文件内容不变)
本文详细介绍了如何在QT环境下进行跨目录编译,动态库的创建,以及如何处理工程间的依赖关系。通过实例展示了动态库的生成、使用自动化过程,并解决了运行时动态库路径的问题,确保程序在不同平台上的正确运行。
订阅专栏 解锁全文
6827





