C++ 为什么会出现这些链接错误?

C++ 为什么会出现这些链接错误?,c++,qt,C++,Qt,当我尝试使用以下main.cpp文件运行Qt应用程序时: #include <QApplication> #include "ui_checkabder.h" #include <QDialog> int main(int argc, char *argv[]) { QApplication app(argc, argv); Ui::CheckAbder ui; QDialog *dialog = new QDialog; ui.setupUi(dialog); dial

当我尝试使用以下
main.cpp
文件运行
Qt
应用程序时:

#include <QApplication>
#include "ui_checkabder.h"
#include <QDialog>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
Ui::CheckAbder ui;
QDialog *dialog = new QDialog;
ui.setupUi(dialog);
dialog->show();
return app.exec();
}
而且,
abder.pro
看起来像这样:

######################################################################
# Automatically generated by qmake (2.01a) Mon Apr 18 09:52:56 2011
######################################################################

TEMPLATE = app
TARGET = 
DEPENDPATH += .
INCLUDEPATH += .

# Input
FORMS += checkabder.ui
我如何解决这些错误?假设我使用的是
Qt-Creator


谢谢。

刚才我自己也遇到了这个问题

当我试图使我的应用程序的控制台窗口消失时,我得到了它

请确保链接器将qtmain.lib链接到您的程序,这就是为我修复此问题的原因

老东西:

我猜你的库是用一些关于char是什么的不同设置编译的

如果这是VisualStudio,我会将treatw_char as build-in类型选择为false

编辑:

Naszta的话让我想到了以下几点:尝试添加

int qMain(int argc, char * array [])
{
    return 0;
}

如果这样做有效的话,其他的东西可能会被破坏(IMO)。

我刚才也遇到了这个问题

当我试图使我的应用程序的控制台窗口消失时,我得到了它

请确保链接器将qtmain.lib链接到您的程序,这就是为我修复此问题的原因

老东西:

我猜你的库是用一些关于char是什么的不同设置编译的

如果这是VisualStudio,我会将treatw_char as build-in类型选择为false

编辑:

Naszta的话让我想到了以下几点:尝试添加

int qMain(int argc, char * array [])
{
    return 0;
}

如果这样做有效,可能会导致其他问题(IMO)。

尝试添加以下内容:

#ifdef WIN32
#include <windows.h>
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
{
    return main( nCmdShow, &lpCmdLine ); 
}
#endif
#ifdef WIN32
#包括
int WINAPI WinMain(HINSTANCE HINSTANCE、HINSTANCE HPPreInstance、LPSTR lpCmdLine、int nCmdShow)
{
返回主管道(nCmdShow和lpCmdLine);
}
#恩迪夫

尝试添加以下内容:

#ifdef WIN32
#include <windows.h>
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
{
    return main( nCmdShow, &lpCmdLine ); 
}
#endif
#ifdef WIN32
#包括
int WINAPI WinMain(HINSTANCE HINSTANCE、HINSTANCE HPPreInstance、LPSTR lpCmdLine、int nCmdShow)
{
返回主管道(nCmdShow和lpCmdLine);
}
#恩迪夫

main.cpp未生成。将以下内容添加到.pro文件中:

 SOURCES += main.cpp

main.cpp未生成。将以下内容添加到.pro文件中:

 SOURCES += main.cpp
怎么样

QT += core gui
在你的.pro文件中?

怎么样

QT += core gui

在您的.pro文件中?

您可能包含一些已经定义了main的内容?例如,一个外部库?你也可以粘贴你的.pro文件吗?@Frank Osterfeld。当然我已经把它包括在原稿中了post@user588855您是否已解决此问题?是否可能包含已定义主节点的内容?例如,一个外部库?你也可以粘贴你的.pro文件吗?@Frank Osterfeld。当然我已经把它包括在原稿中了post@user588855你解决了这个问题吗?我唯一想到的是你没有链接到合适的库。您需要将QtGui和QtCore作为模块添加到项目中,我不知道如何使用QtCreator实现这一点。但是对于pro文件,您需要这个QT+=gui,默认情况下它应该在那里。。所以删除这个QT-=gui。如果我没记错的话,qtmain_win.cpp文件有一个您需要为它提供的外部程序。由于某些原因,您的main与它不兼容。对不起,我不知道更多。好吧,你的主库应该足够了。我唯一想到的是你还没有链接到合适的库。您需要将QtGui和QtCore作为模块添加到项目中,我不知道如何使用QtCreator实现这一点。但是对于pro文件,您需要这个QT+=gui,默认情况下它应该在那里。。所以删除这个QT-=gui。如果我没记错的话,qtmain_win.cpp文件有一个您需要为它提供的外部程序。由于某些原因,您的main与它不兼容。对不起,我不知道更多。好吧,你的主菜应该够了。