Building database driver, IT difficulties
-
@SPlatten said in Building database driver, IT difficulties:
Where is make located?
According to the docs it's
nmake
-
@Christian-Ehrlicher , thats not what that page I posted the link is asking for....
cd $QTDIR/qtbase/src/plugins/sqldrivers/mysql make install
-
First you should tell us if you want to compile the whole Qt or only a single plugin
But nonetheless it's
nmake
and not make when you use VisualStudio. -
@Christian-Ehrlicher , I thought I'd made it clear I am trying to build the SQL plugin driver for Qt. I am following the link:
https://doc.qt.io/qt-5/sql-driver.html#driverwithqtWhat is vague about this? As previously stated the documentation calls:
cd $QTDIR/qtbase/src/plugins/sqldrivers/mysql make install
-
So did you call qmake, were the mysql libs and include paths found and did you actually compile the driver like explained?
Also why do you want to build the plugin for 5.9 on your own? It was still shipped there afair.
-
@J-Hilk , its like mission impossible, the laptop is so locked down its very difficult. I've cleaned out the cache:
rm -R config.*
Then run nmake. result is:
Microsoft (R) Program Maintenance Utility Version 14.00.24245.0 Copyright (C) Microsoft Corporation. All rights reserved. cd sqlite\ && ( if not exist Makefile c:\Qt\Qt5.9.2\5.9.2\msvc2015\bin\qmake.exe -o Makefile C:\Qt\Qt5.9.2\5.9.2\Src\qtbase\src\plugins\sqldrivers\sqlite\sqlite.pro ) && "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\nmake.exe" -f Makefile Microsoft (R) Program Maintenance Utility Version 14.00.24245.0 Copyright (C) Microsoft Corporation. All rights reserved. "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\nmake.exe" -f Makefile.Release all Microsoft (R) Program Maintenance Utility Version 14.00.24245.0 Copyright (C) Microsoft Corporation. All rights reserved. rc /NOLOGO -DUNICODE -D_UNICODE -DWIN32 -DNDEBUG -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_OMIT_COMPLETE -DSQLITE_ENABLE_FTS3 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_RTREE -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG -DQT_PLUGIN -DQT_SQL_LIB -DQT_CORE_LIB -D_WINDLL -fo .obj\release\qsqlite_resource.res qsqlite_resource.rc qsqlite_resource.rc(1) : fatal error RC1015: cannot open include file 'windows.h'. NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\rc.EXE"' : return code '0x1' Stop. NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\nmake.exe"' : return code '0x2' Stop. NMAKE : fatal error U1077: 'cd' : return code '0x2' Stop.
-
You're dev environment is not properly set up. You did not open it via 'Visual Studio command prompt' so the variables for your compiler are not there. Nothing Qt-related.
-
@Christian-Ehrlicher , where would I find that option? I've right clicked in the File Explorer and the only options appearing in the context menu are:
Open with Visual Studio Git GUI Here Git Bash Here
Maybe something else the installer couldn't complete due to IT restrictions?
-
@SPlatten said in Building database driver, IT difficulties:
its like mission impossible, the laptop is so locked down its very difficult. I've cleaned out the cache:
It is not easy but follow this https://forum.qt.io/post/656068 and it should work
-
@KroMignon , now it all appears to have built without any issues, I'm using source that I wrote on my iMAC when doing the same thing, have put in the database details using driver name QMYSQL, but when I try to connect I get the output:
QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7
-
@SPlatten said in Building database driver, IT difficulties:
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7I guess the mysql-connector dynamic library (libmysql.dll) is not in your path
-
@SPlatten said in Building database driver, IT difficulties:
Thats easier said than done, on this system I cannot set environment variables....
That is an unusual statement, I have not heard of such a system. You will have problems if you cannot set environment variables....
You should be able to do so. Even if you have to write a one-line "wrapper" program....
-
@SPlatten said in Building database driver, IT difficulties:
Thats easier said than done, on this system I cannot set environment variables....
You can do it with Qt-Creator: Projects / Build & Run, Select "Run", than in "Run Settings"/Environment you can add as many environment variable as you want => cf. https://doc.qt.io/qtcreator/creator-project-settings-environment.html
-
@SPlatten
If you meanI cannot modify system environment variables
there is no need to set a system variable, only an environment variable for the duration of running your program. Either in a Command Prompt, or as @KroMignon wrote in Qt Creator if you are running from there. Or in a
.bat
script, or in a one-line "wrapper" C/C++ program. heck, you're runningnmake
, that I believe sets environment variables, you could even do so from there....And, depending on when Qt produces that runtime error, if it's on the statement which creates a
QSqlDatabase
, as I think it might be, then you can just set the environment variable in the Qt program you are writing beforehand.