"Cannot find file: mysql.pro" while building MySQL driver in Qt
-
-
@jsulm I already have mysql connector. It was installed into Program Files folder by default. Actually installer doesnt even offers me choice of path. But, I tried that one:
C:\Qt\5.7\Src\qtbase\src\sql\drivers\mysql>qmake "INCLUDEPATH+=C:\Program Files\MySQL\MySQL Connector C 6.1\include" "LIBS+=C:\Program Files\MySQL\MySQL Connector C 6.1\lib\libmysql.lib" mysql.pro
and get the same "Cannot find file: mysql.pro." mistake -
@mrjj I have only 3 files in that folder and it is:
qsql_mysql_p.h
qsql_mysql.pri
qsql_mysql.cpp@jsulm i have downloaded file "qt-unified-windows-x86-3.0.2-online" and then just went through installation. I chose almost all components and Source part too.
Hope you can help me...
Big thank to all of you for replyings and not ignoring my problem! -
@SGaist Okay, so I replaced components from my folder C:\Qt\5.7\Src with the components from that zip file and than I tried 2 commands below with such results:
"C:\Qt\5.7\Src\qtbase\src\sql\drivers\mysql>qmake C:\Qt\5.7\Src\qtbase\src\sql\drivers\mysql>qmake "INCLUDEPATH+=C:\MySQL-insalldir\MySQL Server 5.7\include" "LIBS+=C:\MySQL-insalldir\MySQL Server 5.7\lib\libmysql.lib" mysql.pro
Cannot read C:/Qt/5.7/Src/qtbase/src/sql/drivers/mysql: ???????? ? ???????.
Error processing project file: C:\Qt\5.7\Src\qtbase\src\sql\drivers\mysql
Cannot find file: mysql.pro."and this
"C:\Qt\5.7\Src\qtbase\src\sql\drivers\mysql>qmake "INCLUDEPATH+=C:\Program Files\MySQL\MySQL Connector C 6.1\include" "LIBS+=C:\Program Files\MySQL\MySQL Connector C 6.1\lib\libmysql.lib" mysql.pro
Cannot find file: mysql.pro.":(
-
Just in case, I've checked the content of the zip file and the
/qtbase/src/plugins/sqldrivers/mysql/
folder containsmysql.pro
. -
@SGaist I actually find my super silly mistake. When I type command from C:\Qt\5.7\Src\qtbase\src\plugins\sqldrivers\mysql> command began to executing. BUT... then I get another error.
So the picture looks like that:"C:\Qt\5.7\Src\qtbase\src\plugins\sqldrivers\mysql>qmake "INCLUDEPATH+=C:\Program Files\MySQL\MySQL Connector C 6.1\include" "LIBS+=C:\Program Files\MySQL\MySQL Connector C 6.1\lib\libmysql.lib" mysql.pro
Info: creating stash file C:\Qt\5.7\Src\qtbase.qmake.stash"than I entered command:
"C:\Qt\5.7\Src\qtbase\src\plugins\sqldrivers\mysql>mingw32-make"and get that error:
"mingw32-make -f Makefile.Release all
mingw32-make[1]: Entering directory 'C:/Qt/5.7/Src/qtbase/src/plugins/sqldrivers/mysql'
C:\Qt\5.7\mingw53_32\bin\moc.exe -DUNICODE -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__GNUC__ -DWIN32 -IC:/Qt/5.7/Src/qtbase/mkspecs/win32-g++ -IC:/Qt/5.7/Src/qtbase/src/plugins/sqldrivers/mysql -IC:/Program -IC:/Qt/5.7/Src/qtbase/src/plugins/sqldrivers/mysql/Files/MySQL/MySQL -IC:/Qt/5.7/Src/qtbase/src/plugins/sqldrivers/mysql/Connector -IC:/Qt/5.7/Src/qtbase/src/plugins/sqldrivers/mysql/C -IC:/Qt/5.7/Src/qtbase/src/plugins/sqldrivers/mysql/6.1/include -IC:/Qt/5.7/mingw53_32/include/QtSql/5.7.1 -IC:/Qt/5.7/mingw53_32/include/QtSql/5.7.1/QtSql -IC:/Qt/5.7/mingw53_32/include/QtCore/5.7.1 -IC:/Qt/5.7/mingw53_32/include/QtCore/5.7.1/QtCore -IC:/Qt/5.7/mingw53_32/include -IC:/Qt/5.7/mingw53_32/include/QtSql -IC:/Qt/5.7/mingw53_32/include/QtCore -IC:/Qt/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/5.3.0/include -IC:/Qt/Tools/mingw530_32/lib/gcc/i686-w64-mingw32/5.3.0/include-fixed -IC:/Qt/Tools/mingw530_32/i686-w64-mingw32/include -IC:/Qt/Tools/mingw530_32/i686-w64-mingw32/include/c++ -IC:/Qt/Tools/mingw530_32/i686-w64-mingw32/include/c++/i686-w64-mingw32 -IC:/Qt/Tools/mingw530_32/i686-w64-mingw32/include/c++/backward main.cpp -o .moc\release\main.moc
g++ -c -pipe -fno-keep-inline-dllexport -O2 -std=c++1z -fno-exceptions -frtti -Wall -Wextra -Wvla -Wdate-time -DUNICODE -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG -DQT_PLUGIN -DQT_SQL_LIB -DQT_CORE_LIB -I. -IC:\Program -IFiles\MySQL\MySQL -IConnector -IC -I6.1\include -IC:\Qt\5.7\mingw53_32\include\QtSql\5.7.1 -IC:\Qt\5.7\mingw53_32\include\QtSql\5.7.1\QtSql -IC:\Qt\5.7\mingw53_32\include\QtCore\5.7.1 -IC:\Qt\5.7\mingw53_32\include\QtCore\5.7.1\QtCore -IC:\Qt\5.7\mingw53_32\include -IC:\Qt\5.7\mingw53_32\include\QtSql -IC:\Qt\5.7\mingw53_32\include\QtCore -I.moc\release -IC:/utils/my_sql/my_sql/include -IC:/utils/postgresql/pgsql/include -IC:/openssl/include -I........\mkspecs\win32-g++ -o .obj\release\main.o main.cpp
In file included from main.cpp:42:0:
../../../sql/drivers/mysql/qsql_mysql_p.h:60:19: fatal error: mysql.h: No such file or directory
compilation terminated.
Makefile.Release:322: recipe for target '.obj/release/main.o' failed
mingw32-make[1]: *** [.obj/release/main.o] Error 1
mingw32-make[1]: Leaving directory 'C:/Qt/5.7/Src/qtbase/src/plugins/sqldrivers/mysql'
Makefile:38: recipe for target 'release-all' failed
mingw32-make: *** [release-all] Error 2"I already searched info about that mistake and someone says that this is a qt bug. Is it true?
-
You'll likely have to escape the spaces in the path. Or use the good old 8.3 notation. By the way, use forward slashes for your path. Qt will handle conversion for your properly.
-
@SGaist There isso much spaces in MySql folders by default. Idk how to avoid them properly.
Anyway, i tries with forward slashes:
"C:\Qt\5.7\Src\qtbase\src\plugins\sqldrivers\mysql>qmake "INCLUDEPATH+=C:/Program Files/MySQL/MySQL Connector C 6.1/include" "LIBS+=C:/Program Files/MySQL/MySQL Connector C 6.1/lib/libmysql.lib" mysql.pro"and get the same error...I made something wrong again?
p.s. sorry, but what is that 8.3 notation? never heard before (shame on me)
-
@SGaist will it became a solution for my problem if I'll take all needed folders(include) and libs(libmysql.lib) to another created folder without spaces and use this new pathes in my command? Will it work or it will cause just a new problems?
-
https://en.wikipedia.org/wiki/8.3_filename
It should be good to build the plugin.
-
Replace ? I thought you wanted to copy the headers and libraries in their own folder without spaces. That or the notation should both work.
-
@SGaist I made a try with copying only now and in the end of that huge text block I receive an error.
C:\Qt\5.7\Src\qtbase\src\plugins\sqldrivers\mysql>qmake "INCLUDEPATH+=C:\MySQLDev\include" "LIBS+=C:\MySQLDev\lib\libmysql.lib" mysql.pro
C:\Qt\5.7\Src\qtbase\src\plugins\sqldrivers\mysql>mingw32-make
mingw32-make -f Makefile.Release all
mingw32-make[1]: Entering directory 'C:/Qt/5.7/Src/qtbase/src/plugins/sqldrivers/mysql'
g++ -Wl,-s -shared -Wl,-subsystem,windows -Wl,--out-implib,C:\Qt\5.7\Src\qtbase\plugins\sqldrivers\libqsqlmysql.a -o ........\plugins\sqldrivers\qsqlmysql.dll .obj/release/main.o .obj/release/qsql_mysql.o .obj/release/moc_qsql_mysql_p.o C:\MySQLDev\lib\libmysql.lib -LC:\Qt\5.7\mingw53_32\lib C:\Qt\5.7\mingw53_32\lib\libQt5Sql.a C:\Qt\5.7\mingw53_32\lib\libQt5Core.a -LC:\utils\my_sql\my_sql\lib -LC:\utils\postgresql\pgsql\lib .obj\release\qsqlmysql_resource_res.o
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x16e): undefined reference tomysql_num_rows@4' .obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x199): undefined reference to
mysql_stmt_num_rows@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x22d): undefined reference tomysql_num_rows@4' .obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x257): undefined reference to
mysql_stmt_num_rows@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x458): undefined reference tomysql_character_set_name@4' .obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x4f1): undefined reference to
mysql_stmt_error@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x4fe): undefined reference tomysql_stmt_errno@4' .obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x751): undefined reference to
mysql_error@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x760): undefined reference tomysql_errno@4' .obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x8ba): undefined reference to
mysql_errno@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x99e): undefined reference tomysql_errno@4' .obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x9b5): undefined reference to
mysql_field_seek@8'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x9dc): undefined reference tomysql_field_seek@8' .obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x9e7): undefined reference to
mysql_fetch_field@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0xa2c): undefined reference tomysql_fetch_field@4' .obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0xae9): undefined reference to
mysql_stmt_insert_id@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0xb29): undefined reference tomysql_insert_id@4' .obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0xd33): undefined reference to
mysql_fetch_row@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0xd77): undefined reference tomysql_stmt_fetch@4' .obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0xe92): undefined reference to
mysql_stmt_data_seek@12'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0xea0): undefined reference tomysql_stmt_fetch@4' .obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0xf0e): undefined reference to
mysql_data_seek@12'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0xf1c): undefined reference tomysql_fetch_row@4' .obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x10e7): undefined reference to
mysql_fetch_lengths@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x2728): undefined reference tomysql_init@4' .obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x288e): undefined reference to
mysql_ssl_set@24'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x2a99): undefined reference tomysql_real_connect@32' .obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x2ba4): undefined reference to
mysql_close@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x2eab): undefined reference tomysql_set_character_set@8' .obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x2ec2): undefined reference to
mysql_get_client_version@0'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x2ee0): undefined reference tomysql_thread_init@0' .obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x2f52): undefined reference to
mysql_real_connect@32'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x315e): undefined reference tomysql_ssl_set@24' .obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x31cb): undefined reference to
mysql_options@12'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x31fb): undefined reference tomysql_options@12' .obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x322b): undefined reference to
mysql_options@12'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x3474): undefined reference tomysql_select_db@8' .obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x35b6): undefined reference to
mysql_close@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x35d6): undefined reference tomysql_options@12' .obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x35f4): undefined reference to
mysql_get_server_version@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x39f4): undefined reference tomysql_thread_end@0' .obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x39ff): undefined reference to
mysql_close@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x3fc9): undefined reference tomysql_list_fields@12' .obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x4026): undefined reference to
mysql_fetch_field@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x4035): undefined reference tomysql_free_result@4' .obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x41ca): undefined reference to
mysql_query@8'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x430a): undefined reference tomysql_query@8' .obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x444a): undefined reference to
mysql_query@8'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x46d6): undefined reference tomysql_get_server_version@4' .obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x4ae3): undefined reference to
mysql_list_tables@8'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x4b21): undefined reference tomysql_data_seek@12' .obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x4b2c): undefined reference to
mysql_fetch_row@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x4c14): undefined reference tomysql_free_result@4' .obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x4da7): undefined reference to
mysql_free_result@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x4e1d): undefined reference tomysql_next_result@4' .obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x4e37): undefined reference to
mysql_stmt_close@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x4e5b): undefined reference tomysql_free_result@4' .obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x4f59): undefined reference to
mysql_store_result@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x4f6c): undefined reference tomysql_free_result@4' .obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x5194): undefined reference to
mysql_real_query@12'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x52f9): undefined reference tomysql_store_result@4' .obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x537f): undefined reference to
mysql_field_count@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x53ed): undefined reference tomysql_affected_rows@4' .obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x547c): undefined reference to
mysql_fetch_field_direct@8'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x553e): undefined reference tomysql_field_count@4' .obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x55cb): undefined reference to
mysql_num_fields@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x56c4): undefined reference tomysql_fetch_field@4' .obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x57b6): undefined reference to
mysql_stmt_result_metadata@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x5a3e): undefined reference tomysql_next_result@4' .obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x5a8f): undefined reference to
mysql_store_result@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x5ad2): undefined reference tomysql_field_count@4' .obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x5c2a): undefined reference to
mysql_free_result@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x5cc6): undefined reference tomysql_affected_rows@4' .obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x5d5c): undefined reference to
mysql_fetch_field_direct@8'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x5ecc): undefined reference tomysql_stmt_prepare@12' .obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x5ffb): undefined reference to
mysql_stmt_init@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x60f7): undefined reference tomysql_stmt_param_count@4' .obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x6169): undefined reference to
mysql_stmt_param_count@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x623d): undefined reference tomysql_stmt_reset@4' .obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x640b): undefined reference to
mysql_stmt_param_count@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x6425): undefined reference tomysql_stmt_execute@4' .obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x6576): undefined reference to
mysql_stmt_affected_rows@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x65a3): undefined reference tomysql_stmt_bind_result@8' .obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x65cb): undefined reference to
mysql_stmt_store_result@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x65f9): undefined reference tomysql_stmt_bind_result@8' .obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x663e): undefined reference to
mysql_stmt_param_count@4'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x68c2): undefined reference tomysql_stmt_bind_param@8' .obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x6df1): undefined reference to
mysql_stmt_attr_set@12'
.obj/release/qsql_mysql.o:qsql_mysql.cpp:(.text+0x7099): undefined reference to `mysql_real_escape_string@16'
collect2.exe: error: ld returned 1 exit status
Makefile.Release:65: recipe for target '........\plugins\sqldrivers\qsqlmysql.dll' failed
mingw32-make[1]: *** [........\plugins\sqldrivers\qsqlmysql.dll] Error 1
mingw32-make[1]: Leaving directory 'C:/Qt/5.7/Src/qtbase/src/plugins/sqldrivers/mysql'
Makefile:38: recipe for target 'release-all' failed
mingw32-make: *** [release-all] Error 2 -
Are you sure that your MySQL library is built for MinGW ?
-