gpt4 book ai didi

c++ - Qt 5.3.1 - 静态构建导致链接器错误

转载 作者:太空宇宙 更新时间:2023-11-04 13:48:01 25 4
gpt4 key购买 nike

我刚刚使用 MSVC 2013 从 Qt 5.3.1 为 Windows x86 构建了静态库。第二步显然是使用这些库的静态链接应用程序。所以我创建了一个小应用程序(只是一个带有一些控件的 MainWindow,用于测试目的)。这是我的 *.pro 文件:

QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = projectname
TEMPLATE = app

CONFIG += static

SOURCES += main.cpp\
mainwindow.cpp

HEADERS += mainwindow.h

FORMS += mainwindow.ui

LIBS += -LC:\statics\lib\ -lQt5Core \
-LC:\statics\lib\ -lQt5Gui \
-LC:\statics\lib\ -lQt5Widgets \
-LC:\statics\lib\ -lqtmain \
-LC:\statics\lib\ -lQt5PlatformSupport \

INCLUDEPATH += C:\statics\include

是的。这是我从几个教程中得到的/我在使用 5.1 时的内存。但是在编译时我得到了这些错误:

Qt5Core.lib(Qt5Core.dll):-1: error: LNK2005: "public: __thiscall QString::~QString(void)" (??1QString@@QAE@XZ) allready defined in mainwindow.obj.

mainwindow.obj:-1: error: LNK2019: Unresolved extern symbol ""public: static struct QArrayData const * const QArrayData::shared_null" (?shared_null@QArrayData@@2QBU1@B)" in Funktion ""public: __thiscall QString::QString(void)" (??0QString@@QAE@XZ)".

moc_mainwindow.obj:-1: error: LNK2001: Unresolved extern symbol ""public: static struct QMetaObject const QMainWindow::staticMetaObject" (?staticMetaObject@QMainWindow@@2UQMetaObject@@B)".

有人知道如何处理这些错误吗?我是否必须链接上面未提及的其他一些库,或包含一些文件?我搜索了这个主题,发现很多人遇到了同样的问题,但他们大多使用旧版本的 Qt 或 VS。我还尝试将项目导出到 Visual Studio(使用 Qt Creator),但错误仍然存​​在。

感谢您的回答:)

最佳答案

QT += core gui

LIBS += -LC:\statics\lib\ -lQt5Core \
-LC:\statics\lib\ -lQt5Gui \

您正在加载两个 Qt 库两次:默认版本和自定义版本。默认情况下,QT 包含核心库和 gui 库...您必须手动删除它们:

QT -= core gui

关于c++ - Qt 5.3.1 - 静态构建导致链接器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24902818/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com