ma
Қаз. 9, 2021, 7: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, 3:24 Т.Қ.
  • (өңделген)

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

    ma
    • Қаз. 12, 2021, 2:29 Т.Қ.

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

      Алексей Внуков
      • Қаз. 12, 2021, 4: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, 7:36 Т.Қ.

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

          Алексей Внуков
          • Қаз. 12, 2021, 8:38 Т.Қ.

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

          1. db not open ("QSQLITE", "QODBC", "QODBC3", "QPSQL", "QPSQL7")
            ma
            • Қаз. 13, 2021, 5:49 Т.Қ.

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

              ma
              • Қаз. 13, 2021, 5:52 Т.Қ.

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

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

                Пікірлер

                Тек рұқсаты бар пайдаланушылар ғана пікір қалдыра алады.
                Кіріңіз немесе Тіркеліңіз