Я установил через Mainteinance Tool Qt 5.12.5 и исходники. У меня есть следующие каталоги:
C:\Qt\5.12.5\Src
C:\Qt\Tools\mingw730_32\
C:\Qt\Tools\mingw730_64\
С другой стороны, я прочитал, что загружаемая версия Postgres скомпилирована с MSVC, и я должен скомпилировать свою собственную версию. Я сделал это по ссылке , и теперь у меня есть версия postgresql в c:\pgsql
Наконец я добавил c:\pgsql
в Путь пользователя
Следующий шаг, яоткрыл PowerShell в режиме администратора, и я перешел на C:\Qt\5.12.5\Src\
.
Далее установите путь env для этого сеанса PowerShell: $env:Path += ";C:\Qt\Tools\mingw730_64\bin\;C:\Qt\5.12.5\Src;C:\pgsql\include\;C:\pgsql\lib\;C:\pgsql\bin\"
(снова задайте путь pgsql ....)
После этого я выполняю configure.bat
следующим образом:
configure -v -static -release -static-runtime -platform win32-g++ -prefix C:\Qt\5.12.5\Estatico\ -opensource -confirm-license -qt-zlib -qt-pcre -qt-libpng -qt-libjpeg -qt-freetype -opengl desktop -no-openssl -opensource -confirm-license -skip webengine -make libs -nomake tools -nomake examples -nomake tests -sql-psql
Но я получаю эту ошибку:
ERROR: Feature 'sql-psql' was enabled, but the pre-condition 'libs.psql' failed.
Поиск в config.log
Я могу прочитать эти строки:
loaded result for library config.qtbase_sqldrivers.libraries.psql
Trying source 0 (type pkgConfig) of library psql ...
pkg-config use disabled globally.
=> source produced no result.
Trying source 1 (type psqlConfig) of library psql ...
pg_config not found.
=> source produced no result.
Trying source 2 (type psqlEnv) of library psql ...
None of [liblibpq.dll.a liblibpq.a libpq.dll.a libpq.a libpq.lib] found in [] and global paths.
=> source produced no result.
Trying source 3 (type psqlEnv) of library psql ...
=> source failed condition '!config.win32'.
test config.qtbase_sqldrivers.libraries.psql FAILED
Что я могу сделать или чтоправильный способ сделать это? Заранее спасибо.
ОБНОВЛЕНИЕ
Есть похожий вопрос здесь , но он не был решен, и эти вопросы задают о Visual Studio.
Я хочу скомпилировать его под mingw.
Решение, предложенное @Soheil Armin, тоже не работает Решение, предложенное @Soheil Armin, работает нормально, ноМне нужно удалить все исходное дерево и переустановить его, как он предложил. Если нет, новая конфигурация не будет работать. Также можно сохранить символ ^
:
configure <your parameters>
PSQL_LIBS="C:\pgsql\lib\libpq.a"
-I "C:\pgsql\include"
-L "C:\pgsql\lib"