ma
9 октября 2021 г. 19:20

QPsql Компиляция драйвера

64bit

Добрый день!
Хочу скомпилировать драйвер Postgresql под MSVC 2019 64, в результате не хочет компилироваться, хотя под MinGW 8.1.0 64 все прекрасно компилируется. До переустновки Windows все работало и компилировалось.

вот скрин компиляции
QPsql Компиляция драйвера

разница в .qmake.stash

QPsql Компиляция драйвера

в логе nmake валится и ошибка:

C:\psql\include\libpq-fe.h(23): fatal error C1083: ЌҐ г¤ Ґвбп ®вЄалвм д ©« ўЄ«о祭ЁҐ: stdio.h: No such file or directory,
NMAKE : fatal error U1077: "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30133\bin\Hostx 64\x64\cl.EXE" : возвращенный код "0x2"
Stop.

переменные среды

QPsql Компиляция драйвера

как побороть эту напасть ? в настройках мало чего понимаю. Понимаю что надо произвести настройку. только как? и где ?

2

Вам это нравится? Поделитесь в социальных сетях!

7
Алексей Внуков
  • 10 октября 2021 г. 15:24
  • (ред.)

на сколько помню, драйвер для Postgresql идет из коробки, чем он вас не устроил?
и удалите рускую локаль в VS, а сделайте английскую по умолчанию, VS так и не научился нормально работать с кирилицей

    ma
    • 12 октября 2021 г. 14:29

    А как использовать из коробки?
    удалил рускую локаль но ничего не поменялось.

      Алексей Внуков
      • 12 октября 2021 г. 16:39
      • (ред.)

      подключиться к базе

      1. QSqlDatabase db;
      2. db=QSqlDatabase::addDatabase("QPSQL");
      3. db.setHostName("localhost");
      4. db.setDatabaseName("db");
      5. db.setUserName("userdb");
      6. db.setPassword("passwd");
      7. db.setPort(5432);
      8. if(db.open())
      9. {
      10. qDebug()<<"DB opened"<<"work_db";
      11. }
      12. else
      13. {
      14. qDebug()<<"db not open"<<db.lastError()<<db.drivers();
      15. }
      16.  

      действия с локалью - чтоб нормально текст ошибки выводило, а не "ЌҐ г¤ Ґвбп ®вЄалвм д ©« ўЄ«о祭ЁҐ"
      п.с. db.drivers() - вернет список доступных драйверов

        ma
        • 12 октября 2021 г. 19:36

        из доступных только QSQLite, поэтому и хочу скомпилировать для Postresql

          Алексей Внуков
          • 12 октября 2021 г. 20:38

          а что у вас за Qt? у меня из коробки дает такой вывод

          1. db not open ("QSQLITE", "QODBC", "QODBC3", "QPSQL", "QPSQL7")
            ma
            • 13 октября 2021 г. 17:49

            все решил все работает в папку C:\Qt\5.15.2\msvc2019_64\bin закинул libpq.dll и qsqlpsqld.dll

              ma
              • 13 октября 2021 г. 17:52

              при компиляции драйвера из окна Qt 5.15.2 (MSVC2019 64 ) надо было запустить C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build\vcvars64.bat тогда компиляция выполняется без ошибок.

              Спасбо за помощь.

                Комментарии

                Только авторизованные пользователи могут публиковать комментарии.
                Пожалуйста, авторизуйтесь или зарегистрируйтесь