Jak skompilować z QT do C++
Ostatnio zmodyfikowano 2014-11-13 14:55
VerexPL Temat założony przez niniejszego użytkownika |
Jak skompilować z QT do C++ » 2014-11-02 16:17:07 Zrobiłem sobie w QT creator GUI i chciałbym je przerobić do C++ Zbudowałem (kliknąłem na młotek) i pojawił się nowy folder z plikiem .exe (który nie działa, bo co chwila piszę, że brakuję jakiejś DLL) i moc_mainwindow.cpp No to ja mądra głowa myślałem, że jak skopiuje kod z moc_mainwindow.cpp do code::block to wszystko będzie chodziło pięknie ładnie. No ale niestety, wyskakuje mi wiele błędów http://screenshu.com/static/uploads/temporary/zh/gr/hp/eswokt.jpg Gui.pro #------------------------------------------------- # # Project created by QtCreator 2014-11-01T20:13:02 # #------------------------------------------------- QT += webkit QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = GUI TEMPLATE = app
SOURCES += main.cpp\ mainwindow.cpp
HEADERS += mainwindow.h
FORMS += mainwindow.ui
Mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H
#include <QMainWindow>
namespace Ui { class MainWindow; }
class MainWindow : public QMainWindow { Q_OBJECT
public: explicit MainWindow(QWidget *parent = 0); ~MainWindow();
private slots: void on_Gospodarze_clicked();
void on_Zatrzymaj_clicked();
void on_Goscie_clicked();
private: Ui::MainWindow *ui; };
#endif // MAINWINDOW_H
Main.cpp #include "mainwindow.h" #include <QApplication>
int main( int argc, char * argv[] ) { QApplication a( argc, argv ); MainWindow w; w.show(); return a.exec(); }
Mainwindow.cpp #include "mainwindow.h" #include "ui_mainwindow.h" int GospodarzeL = 2; int ZatrzymajL = 2; int GoscieL = 2;
MainWindow::MainWindow( QWidget * parent ) : QMainWindow( parent ) , ui( new Ui::MainWindow ) { ui->setupUi( this ); }
MainWindow::~MainWindow() { delete ui; }
void MainWindow::on_Gospodarze_clicked() { if( GospodarzeL < 1 ) { ui->GospodarzeL->setText( "<font color='Red'>OFF</font>" ); GospodarzeL = 2; } else { ui->GospodarzeL->setText( "<font color='Green'>ON</font>" ); GospodarzeL = 0; } }
void MainWindow::on_Zatrzymaj_clicked() { if( ZatrzymajL < 1 ) { ui->ZatrzymajL->setText( "<font color='Red'>OFF</font>" ); ZatrzymajL = 2; } else { ui->ZatrzymajL->setText( "<font color='Green'>ON</font>" ); ZatrzymajL = 0; } }
void MainWindow::on_Goscie_clicked() { if( GoscieL < 1 ) { ui->GoscieL->setText( "<font color='Red'>OFF</font>" ); GoscieL = 2; } else { ui->GoscieL->setText( "<font color='Green'>ON</font>" ); GoscieL = 0; } }
Dodam, że jak używam start z Qt creatora, to wszystko działa jak należy. |
|
sajmon |
» 2014-11-02 18:54:14 Zbuduj projekt w trybie release i potem wrzuć do folderu potrzebne pliki dll, znajdziesz je w folderze Qt. Innej opcji zbytnio nie masz :P Był tu na forum często wrzucany link do programu, który pokazuje jakich plików dll brakuje. |
|
VerexPL Temat założony przez niniejszego użytkownika |
» 2014-11-02 19:12:53 Sajmon problem w tym, że ja chciałbym, aby kod GUI mieć w Code::blocks I tam jeszcze funkcję dopisać. |
|
sajmon |
» 2014-11-02 19:23:45 |
|
VerexPL Temat założony przez niniejszego użytkownika |
» 2014-11-02 19:47:12 Bo w QtCreatorze nie zawsze jest dobrze pisać :P Jakoś czuję się pewniej w Code::Blocks
Dodałem wszystkie DLL jakie mi kazało i tak nie działało. |
|
sajmon |
» 2014-11-02 20:15:55 Te błędy w okienkach windowsowych co wyskakują przy odpalaniu programu nie pokazują wszystkich brakujących dllek :P |
|
VerexPL Temat założony przez niniejszego użytkownika |
» 2014-11-02 20:21:05 Sajmon a znasz może jakiś dobry builder co od razu w C++ daje? Próbowałem z Glade (GTK) i Qt |
|
b00rt00s |
» 2014-11-13 14:55:27 Nikt Ci nie broni pisać programy wykorzystujące Qt nawet w notatniku. Musisz jedynie korzystać z qmake jako systemu budowania (można i inaczej, ale to jest trochę naokoło).
Skoro uzyskałeś już plik exe, to znaczy, że program skompilował się poprawnie. Do uruchomienia potrzebujesz jedynie dll'ków Qt. |
|
« 1 » |