• 2326阅读
  • 3回复

[提问]QML+Qt+VS2015混合编程出现链接的问题 [复制链接]

上一主题 下一主题
离线studypersons
 

只看楼主 倒序阅读 楼主  发表于: 2019-05-15
— 本帖被 XChinux 从 Qt代码秀 移动到本区(2019-05-17) —
如下,写入的代码:
#include <QtWidgets/QApplication>
#include <QtQml/QtQml>
#include <QtQml/QQmlApplicationEngine>

int main(int argc, char *argv[])
{
    QApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
    QApplication app(argc, argv);
    QQmlApplicationEngine engine;
    engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
    return app.exec();
}
编译工程时,出现如下链接错误
1>main.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: __thiscall QQmlApplicationEngine::QQmlApplicationEngine(class QObject *)" (__imp_??0QQmlApplicationEngine@@QAE@PAVQObject@@@Z),该符号在函数 _main 中被引用
1>main.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: virtual __thiscall QQmlApplicationEngine::~QQmlApplicationEngine(void)" (__imp_??1QQmlApplicationEngine@@UAE@XZ),该符号在函数 _main 中被引用
1>main.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: void __thiscall QQmlApplicationEngine::load(class QUrl const &)" (__imp_?load@QQmlApplicationEngine@@QAEXABVQUrl@@@Z),该符号在函数 _main 中被引用
请问这是什么原因呢?如何解决?
认真工作,开心生活。
离线笑颜

只看该作者 1楼 发表于: 2019-05-15
是否没加模块?
QT += qml quick
离线studypersons

只看该作者 2楼 发表于: 2019-05-16
回 笑颜 的帖子
笑颜:是否没加模块?
QT += qml quick (2019-05-15 16:50) 

VS2015如何配置qml编译选项呢
认真工作,开心生活。
离线笑颜

只看该作者 3楼 发表于: 2019-05-16
回 studypersons 的帖子
studypersons:VS2015如何配置qml编译选项呢 (2019-05-16 13:39)

VS不是有Qt的插件吗? 用那个插件在VS开发Qt程序才合适,要不然还是用QtCreator开发吧。
如果想更快解决这个问题,因为这个错误应该是链接的时候找不到符号,所以你可以直接修改VS工程的链接库,增加那两个模块需要链接的库就行了(Qt5Quick.lib,Qt5Qml.lib / 或者debug的加d)
快速回复
限100 字节
 
上一个 下一个