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与它不兼容。对不起,我不知道更多。好吧,你的主菜应该够了。