当前位置: 代码迷 >> QT开发 >> Qt静态调用dll为何不成功呢
  详细解决方案

Qt静态调用dll为何不成功呢

热度:69   发布时间:2016-04-25 04:09:48.0
Qt静态调用dll为什么不成功呢
pro文件

#-------------------------------------------------
#
# Project created by QtCreator 2012-08-14T18:00:36
#
#-------------------------------------------------

QT       += core gui

LIBS+=-L C:/Users/Administrator/Desktop/qtDll/ -I addDll

TARGET = qtDll
CONFIG   += console
CONFIG   -= app_bundle

TEMPLATE = app


SOURCES += main.cpp

main.cpp

#include <QtGui/QApplication>
#include <QDebug>
#include <QLibrary>

#include "addDll.h"

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    qDebug()<<myQtAdd(1,2);

    return a.exec();
}


指定了绝对路径 还是出现
undefined reference to 'myQtAdd(int,int)'
错误。
动态调用成功,静态为什么失败?

------解决方案--------------------
直接写成 LIBS += C:/Users/Administrator/Desktop/qtDll/ADD.DLL看看
------解决方案--------------------
你的库中有这个方法吗?而且我看你的.h文件也没加到工程文件里面来啊。
------解决方案--------------------
引用:
引用:
你的库中有这个方法吗?而且我看你的.h文件也没加到工程文件里面来啊。

对了,我用VC6创建的dll,是个动态链接库,把头文件和lib,dll放在工程目录,又把dll也放在了debug目录,不知道是不是放错了。

dll放错位置,只是会让你运行不了,编译是不会报错的。你那个库能行么?你用VC调用看看。 或者你用 Qt创建个动态库,试试能不能行。
  相关解决方案