Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: lexflax от Ноябрь 16, 2013, 15:43



Название: Ошибка при сборке ( выпуск) номер -1073741511
Отправлено: lexflax от Ноябрь 16, 2013, 15:43
Доброго времени суток...
 Парни никак не могу собрать программу... в режиме отладки все запускает, ошибок никаких не выдает...
 Как только через выпуск собираю прога не запускается, программа неожиданно завершилась... и выдает exe файл завершился с кодом -1073741511
 Смотрел темы по этой ошибке на форумах в основном говорят, что ошибка в коде... но гду у меня не знаю ошибка... и есть ли она вообще... помогите пожалуйста...
 mainwindow.h
Код:
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
 
#include <QMainWindow>
#include <QMainWindow>
#include "QSqlTableModel"
#include <QtGui>
#include <QtSql>
#include <QTextCodec>
#include <mainwindow.h>
#include "ui_mainwindow.h"
#include <QTabWidget>
#include <QItemSelection>
#include <QtSql>
#include <QtSql/QSqlRecord>
#include <QtGui/QMainWindow>
#include <QtSql/QSqlRelationalTableModel>
#include <QtGui/QMessageBox>
#include <QtSql/QSqlQuery>
#include <QtCore>
#include <QtGui>
namespace Ui {
    class MainWindow;
}
 
class MainWindow : public QMainWindow
{
    Q_OBJECT
 
public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();
 
private slots:
 
void on_pushButton_5_clicked();
 
void on_pushButton_clicked();
 
void on_pushButton_2_clicked();
 
void on_pushButton_3_clicked();
 
void on_pushButton_4_clicked();
 
void on_pushButton_6_clicked();
 
void on_pushButton_7_clicked();
 
void on_pushButton_8_clicked();
 
void on_pushButton_9_clicked();
 
void on_pushButton_10_clicked();
 
void on_pushButton_11_clicked();
 
void on_pushButton_12_clicked();
 
void on_pushButton_13_clicked();
 
void on_pushButton_14_clicked();
 
void on_pushButton_15_clicked();
 
void on_pushButton_16_clicked();
 
void on_pushButton_17_clicked();
 
void on_pushButton_18_clicked();
 
void on_lineEdit_textChanged();
 
void on_lineEdit_2_textChanged();
 
private:
    Ui::MainWindow *ui;
    QSqlTableModel *Kvalif;
       QSqlTableModel *GosSp;
       QSqlTableModel *VuzSp;
       QSqlTableModel *Speciliz;
       QSqlTableModel *kod;
       QSqlTableModel *Specvuza;
       QSqlTableModel * tt;
       QSqlDatabase db;
};
#endif // MAINWINDOW_H
main.cpp
Код:
#include <QtGui>
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "QSqlTableModel"
#include "QSqlQuery"
#include "QSqlRecord"
#include <QtGui>
#include <QtSql>
#include <QTextCodec>
#include <mainwindow.h>
#include "ui_mainwindow.h"
#include <QTabWidget>
#include <QItemSelection>
#include <QtSql>
#include <QtSql/QSqlRecord>
#include <QtGui/QMainWindow>
#include <QtSql/QSqlRelationalTableModel>
#include <QtGui/QMessageBox>
#include <QtSql/QSqlQuery>
#include <QtCore>
#include <QtGui>
 
 
bool createConnection()
{
    QTextCodec* codec =  QTextCodec::codecForName("cp1251");
    QTextCodec::setCodecForTr(codec);
    QSqlDatabase db = QSqlDatabase::addDatabase("QPSQL");
    db.setHostName("localhost");
    db.setDatabaseName("var");
    db.setUserName("testuser");
    db.setPassword("1");
 
    if (!db.open())
    {
        QMessageBox::warning(0, QObject::tr("Ошибка"),
                             QObject::tr("Ошибка подключения к базе!!!"));
        return true;
    }
    else
    {
        QMessageBox::warning(0, QObject::tr("Все хорошо"),
                             QObject::tr("Подключился к базе!!!"));
        QSqlQuery Ex;
        Ex.exec("Pragma foreign_keys=on");
        return true;
 
    }
}
 
 
 
 
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    createConnection();
    MainWindow w;
    w.show();
 
 
    return a.exec();
}
mainwindow.cpp
Код:
#include <QtGui>
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "QSqlTableModel"
#include "QSqlQuery"
#include "QSqlRecord"
#include <QtGui>
#include <QtSql>
#include <QTextCodec>
#include <mainwindow.h>
#include "ui_mainwindow.h"
#include <QTabWidget>
#include <QItemSelection>
#include <QtSql>
#include <QtSql/QSqlRecord>
#include <QtGui/QMainWindow>
#include <QtSql/QSqlRelationalTableModel>
#include <QtGui/QMessageBox>
#include <QtSql/QSqlQuery>
#include <QtCore>
#include <QtGui>
 
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
 
{
    ui->setupUi(this);
    Kvalif = new QSqlTableModel(0,db);
    Kvalif->setTable("Kvalif");
    Kvalif->select();
    ui->tableView->setModel(Kvalif);
    Kvalif->setEditStrategy(QSqlTableModel::OnManualSubmit);
    Speciliz = new QSqlTableModel(0,db);
    tt= new QSqlTableModel(0,db);
    Speciliz->setTable("Speciliz");
    Speciliz->select();
    ui->tableView_2->setModel(Speciliz);
    Speciliz->setEditStrategy(QSqlTableModel::OnManualSubmit);
    GosSp = new QSqlTableModel(0,db);
    GosSp->setTable("GosSp");
    GosSp->select();
    ui->tableView_3->setModel(GosSp);
    GosSp->setEditStrategy(QSqlTableModel::OnManualSubmit);
    VuzSp = new QSqlTableModel(0,db);
    VuzSp->setTable("VuzSp");
    VuzSp->select();
    ui->tableView_4->setModel(VuzSp);
    VuzSp->setEditStrategy(QSqlTableModel::OnManualSubmit);
    QSqlQueryModel *query = new QSqlQueryModel(this);
        query->setQuery("SELECT Namespv,Namespg,Namekrat from VuzSp natural join kod natural join GosSp");
        ui->tableView_5->setModel(query);}
MainWindow::~MainWindow()
{
    delete ui;
}
void MainWindow::on_pushButton_5_clicked()
{QSqlQueryModel *VuzSp = new QSqlQueryModel(this);
VuzSp->setQuery("SELECT Namespv,kodsv,namekrat from VuzSp WHERE Namespv LIKE '"+ui->lineEdit->text()+"%'");
ui->tableView_4->setModel(VuzSp);
}
void MainWindow::on_pushButton_clicked()
{
    QSqlRecord rec;// добавление
                Kvalif->insertRecord(-1,rec);
}
void MainWindow::on_pushButton_2_clicked()
{
    QModelIndex _ind;//удаление
        int _Row=ui->tableView->selectionModel()->currentIndex().row();
        Kvalif->removeRow(_Row,_ind);
}
void MainWindow::on_pushButton_3_clicked()
{
    Kvalif->submitAll();
        if (Kvalif->submitAll()==false)
        {
        QSqlError err = Kvalif->lastError();
        //QMessageBox::critical(0,"Soobhenie","Nekkorektnoe deistvie. \n Dannie mogut bit poterani");
        QMessageBox::critical(0,"Soobhenie",Kvalif->lastError().databaseText());
        }
 
        QSqlQueryModel *Kafedra_SUB = new QSqlQueryModel(this);
                Kafedra_SUB->setQuery("select * from Kvalif");
}
void MainWindow::on_pushButton_4_clicked()
{
Kvalif->revertAll();
}
void MainWindow::on_pushButton_6_clicked()
{
    QSqlRecord rec;// добавление
                Speciliz->insertRecord(-1,rec);
}
 
void MainWindow::on_pushButton_7_clicked()
{
    QModelIndex _itt;//удаление
        int _Row=ui->tableView_2->selectionModel()->currentIndex().row();
        Speciliz->removeRow(_Row,_itt);
}
 
void MainWindow::on_pushButton_8_clicked()
{
    Speciliz->submitAll();
        if (Speciliz->submitAll()==false)
        {
        QSqlError err = Speciliz->lastError();
        //QMessageBox::critical(0,"Soobhenie","Nekkorektnoe deistvie. \n Dannie mogut bit poterani");
        QMessageBox::critical(0,"Soobhenie",Speciliz->lastError().databaseText());
        }
        QSqlQueryModel *GosSpesz = new QSqlQueryModel(this);
                GosSpesz->setQuery("select * from Speciliz");
}
 
void MainWindow::on_pushButton_9_clicked()
{
 Speciliz->revertAll();
}
void MainWindow::on_pushButton_10_clicked()
{
    QSqlRecord rec;// добавление
               GosSp->insertRecord(-1,rec);
}
 
void MainWindow::on_pushButton_11_clicked()
{
    QModelIndex _int;//удаление
      int _Row=ui->tableView_3->selectionModel()->currentIndex().row();
        GosSp->removeRow(_Row,_int);
}
 
void MainWindow::on_pushButton_12_clicked()
{
    GosSp->submitAll();
        if (GosSp->submitAll()==false)
        {
        QSqlError err = GosSp->lastError();
        //QMessageBox::critical(0,"Soobhenie","Nekkorektnoe deistvie. \n Dannie mogut bit poterani");
        QMessageBox::critical(0,"Soobhenie",GosSp->lastError().databaseText());
        }
        QSqlQueryModel *GosSpec = new QSqlQueryModel(this);
                GosSpec->setQuery("select * from GosSp");
               // QMessageBox::information(this, tr("Ogranichenie Tcelostnosti"),
              //  tr("Nezabivaite, chto izmenenie dannih v etoi tablitce trebuet redaktirovaniya tablitci GLAVNAI AND Specialnosti Vuza."));
}
 
void MainWindow::on_pushButton_13_clicked()
{
GosSp->revertAll();
}
void MainWindow::on_pushButton_14_clicked()
{
    QSqlRecord rec;// добавление
               VuzSp->insertRecord(-1,rec);
}
void MainWindow::on_pushButton_15_clicked()
{
    QModelIndex _int;//удаление
      int _Row=ui->tableView_4->selectionModel()->currentIndex().row();
        VuzSp->removeRow(_Row,_int);
}
void MainWindow::on_pushButton_16_clicked()
{
    VuzSp->submitAll();
        if (VuzSp->submitAll()==false)
        {
        QSqlError err = VuzSp->lastError();
        //QMessageBox::critical(0,"Soobhenie","Nekkorektnoe deistvie. \n Dannie mogut bit poterani");
        QMessageBox::critical(0,"Soobhenie",VuzSp->lastError().databaseText());
        }
        QSqlQueryModel *GosSpess = new QSqlQueryModel(this);
                GosSpess->setQuery("select * from VuzSp");
}
void MainWindow::on_pushButton_17_clicked()
{
VuzSp->revertAll();
}
void MainWindow::on_pushButton_18_clicked()
{
   QSqlQueryModel *tt = new QSqlTableModel(this);
    tt->setQuery("SELECT Namespv,kodsv,namekrat from VuzSp WHERE Namespv LIKE '"+ui->lineEdit_2->text()+"%'");
    ui->tableView_5->setModel(tt);
 
}
 
void MainWindow::on_lineEdit_2_textChanged()
{
    QSqlQueryModel *tt = new QSqlTableModel(this);
     tt->setQuery("SELECT Namespv,Namespg,Namekrat from VuzSp natural join kod natural join GosSp WHERE Namespv LIKE'"+ui->lineEdit_2->text()+"%'");
     ui->tableView_5->setModel(tt);
}
 
void MainWindow::on_lineEdit_textChanged()
{
    QSqlQueryModel *tt = new QSqlTableModel(this);
     tt->setQuery("SELECT Namespv,kodsv,namekrat from VuzSp WHERE Namespv LIKE '"+ui->lineEdit->text()+"%'");
     ui->tableView_4->setModel(tt);
}


Название: Re: Ошибка при сборке ( выпуск) номер -1073741511
Отправлено: alex312 от Ноябрь 16, 2013, 15:58
http://bit.ly/1bunL61


Название: Re: Ошибка при сборке ( выпуск) номер -1073741511
Отправлено: lexflax от Ноябрь 18, 2013, 15:05
теперь при сборке и выпуске пишет одно и тоже...
Запускается C:\tt\build-untitled2-des-Release\release\untitled2.exe...
Не удалось запустить программу. Путь или права недопустимы?
C:\tt\build-untitled2-des-Release\release\untitled2.exe завершился с кодом -1
Сам проект собирается... две папки Дебаг и Релиз... Exe файл из папки debug запускается и работает как надо... ну он в себе я так понял все библиотеки содержит... А вот файл Релиз нифига не запускается пишет ошибку Точка входа в процедуру _Z9qBadAllocv не найдена в библиотеке DLL QtCore4.dll...
 почему он может ругаться на эту DLL???


Название: Re: Ошибка при сборке ( выпуск) номер -1073741511
Отправлено: alex312 от Ноябрь 18, 2013, 16:40
выкладывай проект


Название: Re: Ошибка при сборке ( выпуск) номер -1073741511
Отправлено: lexflax от Ноябрь 20, 2013, 14:23
проект


Название: Re: Ошибка при сборке ( выпуск) номер -1073741511
Отправлено: alex312 от Ноябрь 21, 2013, 11:59
попробуй подправленный.

З Ы - и не смешивай компиляторы и сборки Qt разных версий.


Название: Re: Ошибка при сборке ( выпуск) номер -1073741511
Отправлено: lexflax от Ноябрь 23, 2013, 05:51
сейчас и при отладке выводит сообщение что драйвер psql не найден... Пути к нему в PATH прописаны и раньше он их всегда находил...
В чем может быть причина, почему он вдруг стал его не видеть?
пусть PATH-C:\psql\bin;C:\psql\lib;C:\Qt\4.8.5\plugins\sqldrivers;C:\Qt\4.8.5\plugins\sqldrivers\psql;C:\PostgreSQL\8.4\lib;C:\Qt\4.8.5\src\sql\drivers\psql


Название: Re: Ошибка при сборке ( выпуск) номер -1073741511
Отправлено: alex312 от Ноябрь 23, 2013, 10:24
Плагины (а драйвера баз данных являются плагинами) ищются в папках по путям установленным в приложении http://qt-project.org/doc/qt-4.8/qcoreapplication.html#libraryPaths


Название: Re: Ошибка при сборке ( выпуск) номер -1073741511
Отправлено: lexflax от Ноябрь 23, 2013, 13:27
поискал в компе компе плагин , ошибка при запуске теперь другая...


Название: Re: Ошибка при сборке ( выпуск) номер -1073741511
Отправлено: lexflax от Ноябрь 23, 2013, 13:39
тоже проблемма из за библиотек???


Название: Re: Ошибка при сборке ( выпуск) номер -1073741511
Отправлено: Majestio от Ноябрь 23, 2013, 13:43
с++ redistributable установлен?


Название: Re: Ошибка при сборке ( выпуск) номер -1073741511
Отправлено: alex312 от Ноябрь 23, 2013, 13:54
lexflax, тебе же красным по белому написано. Смотри окошко вывода QtCreator.
Cannot mix incompatible Qt library ....


Название: Re: Ошибка при сборке ( выпуск) номер -1073741511
Отправлено: lexflax от Ноябрь 23, 2013, 14:33
да эту ошибку я видел "Cannot mix incompatible Qt library ...."
гуглил ее...
два варианта выдавало
или с++ redistributable не установлен
или библиотеки перепутаны...
первый вариант у меня установлен на компе...
значит второй... но как можно посмотреть какие библиотеки вообще на компе установлены, и какие из них применяются... чтоб убрать лишние и оставить только нужные?


Название: Re: Ошибка при сборке ( выпуск) номер -1073741511
Отправлено: lexflax от Ноябрь 23, 2013, 14:51
получается сейчас такая ситуация... Мой проект который вам кидал он запускается в режиме отладка нормально... в режиме релиз выводит только оболочку не загружая в нее данные из базы... После работы вами над моим проэктом так же запускается все в режиме отладка, а в режиме релиз выдает ошибку которую я на принскрине показал...


Название: Re: Ошибка при сборке ( выпуск) номер -1073741511
Отправлено: Alex Custov от Ноябрь 23, 2013, 16:30
значит второй... но как можно посмотреть какие библиотеки вообще на компе установлены, и какие из них применяются... чтоб убрать лишние и оставить только нужные?

Покажи PATH


Название: Re: Ошибка при сборке ( выпуск) номер -1073741511
Отправлено: lexflax от Ноябрь 24, 2013, 03:26
C:\psql\bin;C:\psql\lib;C:\Qt\4.8.5\plugins\sqldrivers;C:\Qt\4.8.5\plugins\sqldrivers\psql;C:\PostgreSQL\8.4\lib;C:\Qt\4.8.5\src\sql\drivers\psql;C:\Qt\4.8.5\bin;C:\Qt\4.8.5\src\sql\drivers\psql;C:\Qt\4.8.5\src\plugins\sqldrivers;C:\Qt\4.8.5\src\plugins\sqldrivers\psql;C:\tt\psql\include