collect2 ld returned 1 exit status
代码如下:
头文件:
#ifndef EX_2_H
#define EX_2_H
#include <QApplication>
#include <QPushButton>
#include <QDialog>
#include <QGridLayout>
#include <QFileDialog>
#include <QFontDialog>
#include <QColorDialog>
#include <QLineEdit>
class StandardDialogs : public QDialog
{
Q_OBJECT
public:
StandardDialogs(QWidget *parent = 0, Qt::WindowFlags = 0);
//~StandardDialogs();
public:
QGridLayout *layout;
QPushButton *FileButton;
QPushButton *ColorButton;
QPushButton *FontButton;
QLineEdit *FileLine;
QLineEdit *FontLine;
QFrame *ColorFrame;
private slots:
void slotOpenFileDlg();
void slotOpenColorDlg();
void slotOpenFontDlg();
};
#endif // EX_2_H
资源文件:
#include"Ex_2.h"
StandardDialogs::StandardDialogs(QWidget *parent, Qt::WindowFlags f):
QDialog(parent, f)
{
this->setWindowTitle("StandardDialog");
layout = new QGridLayout(this);
FileButton = new QPushButton();
FileButton->setText("File Dialog");
ColorButton = new QPushButton();
ColorButton->setText("Color Dialog");
FontButton = new QPushButton();
FontButton->setText("Font Dialog");
FileLine = new QLineEdit();
ColorFrame = new QFrame();
ColorFrame->setFrameShape(QFrame::Box);
ColorFrame->setAutoFillBackground(true);
FontLine = new QLineEdit();
FontLine->setText("Hello");
layout->addWidget(FileButton, 0, 0);
layout->addWidget(FileLine, 0, 1);
layout->addWidget(ColorButton, 1, 0);
layout->addWidget(ColorFrame, 1, 1);
layout->addWidget(FontButton, 2, 0);
layout->addWidget(FontLine, 2, 1);
connect(FileButton, SIGNAL(clicked()), this, SLOT(slotOpenFileDlg()));
connect(ColorButton, SIGNAL(clicked()), this, SLOT(slotOpenColorDlg()));
connect(FontButton, SIGNAL(clicked()), this, SLOT(slotOpenFontDlg()));
}
void StandardDialogs::slotOpenFileDlg()
{
QString s = QFileDialog::getOpenFileName(
this,
"Open file dialogs",
"/",
"C++files(*.cpp)::C files::HeadFiles(*h)");
FileLine->setText(s.toAscii());
}
void StandardDialogs::slotOpenColorDlg()
{
QColor c = QColorDialog::getColor(Qt::blue);
if(c.isValid())
{
ColorFrame->setPalette(QPalette(c));
}
}
void StandardDialogs::slotOpenFontDlg()
{
bool ok;
QFont f = QFontDialog::getFont(&ok);
if(ok)
{
FontLine->setFont(f);
}
}
Main:
#include"Ex_2.h"
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
StandardDialogs s;
return app.exec();
}
Build Issus:
collect2 ld returned 1 exit status
Complie Output:
Running build steps for project Ex_2...
Starting: e:/qt/qt/bin/qmake.exe F:/Qt Program/Ex_2/Ex_2.pro -spec win32-g++ -r
Exited with code 0.
Starting: E:/QT/mingw/bin/mingw32-make.exe -w
mingw32-make: Entering directory `F:/Qt Program/Ex_2'
E:/QT/mingw/bin/mingw32-make -f Makefile.Debug
mingw32-make[1]: Entering directory `F:/Qt Program/Ex_2'
g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -mthreads -Wl -Wl,-subsystem,windows -o debug\Ex_2.exe debug/Ex_2.o debug/Main.o debug/moc_Ex_2.o -L"e:\QT\qt\lib" -lmingw32 -lqtmaind -lQtGuid4 -lQtCored4
mingw32-make[1]: Leaving directory `F:/Qt Program/Ex_2'
mingw32-make: Leaving directory `F:/Qt Program/Ex_2'
e:/qt/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../mingw32/bin/ld.exe: cannot open output file debug\Ex_2.exe: Permission denied
collect2: ld returned 1 exit status
mingw32-make[1]: *** [debug\Ex_2.exe] Error 1
mingw32-make: *** [debug] Error 2
Exited with code 2.
Error while building project Ex_2
When executing build step 'Make'