为什么我会收到这些链接错误?

时间:2011-04-18 09:09:24

标签: c++ qt

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

#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();
}

我收到以下错误:

c:/QtSDK/Desktop/Qt/4.7.3/mingw/lib/libqtmaind.a(qtmain_win.o):-1: In function `WinMain@16':

`c:/ndk_buildrepos/qt-desktop/src/winmain/qtmain_win.cpp:131: error: undefined reference to qMain(int, char **)`

:-1: error: collect2: ld returned 1 exit status

并且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

感谢。

4 个答案:

答案 0 :(得分:4)

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

 SOURCES += main.cpp

答案 1 :(得分:0)

我刚才自己也解决了这个问题。

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

http://lists.trolltech.com/qt-interest/2005-12/thread00170-0.html

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

旧东西:

我猜你的库已经编译了一些关于char是什么的不同设置。

如果这是Visual Studio,我会选择将w_char作为内置类型处理为false。

编辑:

Naszta所说的让我想到以下几点:尝试添加

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

如果这样可行,其他可能会被破坏(IMO)。

答案 2 :(得分:0)

尝试添加以下内容:

#ifdef WIN32
#include <windows.h>
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
{
    return main( nCmdShow, &lpCmdLine ); 
}
#endif

答案 3 :(得分:0)

怎么样

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