2

我在使用 Qt 5.0 时遇到问题,因为当我执行任何简单代码时,链接器都会出现此错误。

-1: error: [ui_mainwindow.h] Error -1073741515

我想知道如何解决它。这是导致代码片段:

#include "mainwindow.h"
#include <QtGui/QApplication>
#include <QLabel>

int main(int argc, char *argv[]) {
    QApplication prog(argc, argv);
    QLabel *label = new QLabel("GameTime!");
    label->show();
    return prog.exec();
}
4

2 回答 2

0

您没有附上您正在使用的开发环境,但假设它使用 MS 链接器 cl.exe,很可能环境变量设置不正确。
如果在命令行或构建脚本中启动 cl.exe 并且在路径中找不到所需的 mspdb80.dll,则会导致此错误。

为避免这种情况,只需确保正确设置环境即可。例如,对于 MS VS2010,您必须致电

C:\RANDOM\PATH\>"%VS100COMNTOOLS%vsvars32.bat"

%VS100COMNTOOLS%通常由 VS2010 安装程序在设置时设置。如果您使用不同的版本,根据您的 Visual Studio 版本%VSx0COMNTOOLS%x可能是 5、6、...。
输出应该是这样的:

Setting environment for using Microsoft Visual Studio 2010 x86 tools.
于 2013-10-31T10:19:54.803 回答
0

您的 QLabel *label 和 show() 代码需要进入 mainWindow.cpp

您的 main.cpp 应如下所示:

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();
    return a.exec();
}

还有你的 mainwindow.cpp (像这样)

MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    QLabel *label = new QLabel("GameTime!");
    label->show();
}

我没有测试这个确切的主窗口代码,但它应该非常接近。我通常使用 QT Creator 附带的用户界面构建器来访问 UI 元素。

于 2013-06-14T17:15:34.213 回答