Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Qt static with MySQL issue
Forum Updated to NodeBB v4.3 + New Features

Qt static with MySQL issue

Scheduled Pinned Locked Moved Solved General and Desktop
50 Posts 4 Posters 22.3k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • SGaistS Offline
    SGaistS Offline
    SGaist
    Lifetime Qt Champion
    wrote on last edited by
    #6

    Are you looking at the latest version of the documentation ?

    Interested in AI ? www.idiap.ch
    Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

    1 Reply Last reply
    0
    • SGaistS SGaist

      Are you sure C:\MySQL\mysql-5.7.23-win32\lib\mysqlclient.lib is a static library ? The .lib files can either be static libraries or import libraries.

      Cobra91151C Offline
      Cobra91151C Offline
      Cobra91151
      wrote on last edited by
      #7

      @SGaist

      So, you are right! I have checked the mysqlclient.lib using VS 2017 static MFC test project and I get the issues:

      0_1536266586233_2018-09-06_234252.png

      It means this library is a dynamic. So where to get the static library or source files to build this library as static? Thanks.

      1 Reply Last reply
      0
      • SGaistS Offline
        SGaistS Offline
        SGaist
        Lifetime Qt Champion
        wrote on last edited by
        #8

        MT and MD are just related to the Windows runtime type you'll be using.

        Interested in AI ? www.idiap.ch
        Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

        Cobra91151C 2 Replies Last reply
        0
        • SGaistS SGaist

          MT and MD are just related to the Windows runtime type you'll be using.

          Cobra91151C Offline
          Cobra91151C Offline
          Cobra91151
          wrote on last edited by Cobra91151
          #9

          @SGaist

          I have checked it using lib /list mysqlclient.lib and 7zip, it displayed:

          0_1536267302253_2018-09-06_235447.png

          This means the library is 100% static. So how to add it to Qt during reconfiguration? Should I provide full path to the library or remove all libs except mysqlclient.lib and provide path? Thanks.

          1 Reply Last reply
          0
          • SGaistS Offline
            SGaistS Offline
            SGaist
            Lifetime Qt Champion
            wrote on last edited by
            #10

            Can you show which configuration options you used ?

            Interested in AI ? www.idiap.ch
            Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

            Cobra91151C 1 Reply Last reply
            0
            • SGaistS SGaist

              Can you show which configuration options you used ?

              Cobra91151C Offline
              Cobra91151C Offline
              Cobra91151
              wrote on last edited by Cobra91151
              #11

              @SGaist

              Ok, my batch file:

              SET /P qtBuildType=Qt build type (shared/static): 
              SET /P qtBuildMySqlIncludePath=MySql include path: 
              SET /P qtBuildMySqlLibPath=MySql lib path: 
              SET /P qtBuildOpenSSLIncludePath=OpenSSL include path: 
              SET /P qtBuildOpenSSLLibPath=OpenSSL lib path: 
              SET /P qtBuildPath=Enter Qt build path: 
              configure.bat -debug-and-release -%qtBuildType% -opensource -nomake tools -nomake examples -no-ltcg -sql-mysql -I "%qtBuildMySqlIncludePath%" -L "%qtBuildMySqlLibPath%" -ssl -openssl -openssl-linked -I "%qtBuildOpenSSLIncludePath%" -L "%qtBuildOpenSSLLibPath%" OPENSSL_LIBS="-lUser32 -lAdvapi32 -lGdi32 -lCrypt32" OPENSSL_LIBS_DEBUG="-lssleay32MTd -llibeay32MTd" OPENSSL_LIBS_RELEASE="-lssleay32MT -llibeay32MT" -prefix "%qtBuildPath%"
              

              For example, MySql include path was : C:\MySQL\mysql-5.7.22-win32\include and MySql lib path C:\MySQL\mysql-5.7.22-win32\lib but it make Qt to use C:\MySQL\mysql-5.7.22-win32\lib\libmysql.lib (dynamic). I think, should be another way to set proper library.

              1 Reply Last reply
              0
              • SGaistS Offline
                SGaistS Offline
                SGaist
                Lifetime Qt Champion
                wrote on last edited by
                #12

                I would add MYSQL_LIBS=-lmysqlclient.

                Interested in AI ? www.idiap.ch
                Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                Cobra91151C 1 Reply Last reply
                1
                • SGaistS SGaist

                  I would add MYSQL_LIBS=-lmysqlclient.

                  Cobra91151C Offline
                  Cobra91151C Offline
                  Cobra91151
                  wrote on last edited by
                  #13

                  @SGaist

                  Ok. I will try it and reply. Thanks.

                  1 Reply Last reply
                  0
                  • Cobra91151C Offline
                    Cobra91151C Offline
                    Cobra91151
                    wrote on last edited by
                    #14

                    I added the MYSQL_LIBS="-lmysqlclient" to configure:

                    configure.bat -debug-and-release -%qtBuildType% -opensource -nomake tools -nomake examples -no-ltcg -sql-mysql -I "%qtBuildMySqlIncludePath%" -L "%qtBuildMySqlLibPath%" MYSQL_LIBS="-lmysqlclient" -ssl -openssl -openssl-linked -I "%qtBuildOpenSSLIncludePath%" -L "%qtBuildOpenSSLLibPath%" OPENSSL_LIBS="-lUser32 -lAdvapi32 -lGdi32 -lCrypt32" OPENSSL_LIBS_DEBUG="-lssleay32MTd -llibeay32MTd" OPENSSL_LIBS_RELEASE="-lssleay32MT -llibeay32MT" -prefix "%qtBuildPath%"
                    

                    But I get the issue:

                    0_1536309866313_2018-09-07_114417.png

                    I think I should also provide the libmysql to MYSQL_LIBS or the problem is with mysql-5.7.23.

                    1 Reply Last reply
                    0
                    • Cobra91151C Offline
                      Cobra91151C Offline
                      Cobra91151
                      wrote on last edited by
                      #15

                      I have found the issue! Adding this line MYSQL_LIBS="-lmysqlclient" to configure for some reason breaks the detection of MySQL. I will try again to confirm it.

                      1 Reply Last reply
                      0
                      • Cobra91151C Offline
                        Cobra91151C Offline
                        Cobra91151
                        wrote on last edited by
                        #16

                        Yes, I was right. Adding MYSQL_LIBS="-lmysqlclient" breaks the detection of MySQL - 100% confirmed.

                        1 Reply Last reply
                        0
                        • Cobra91151C Offline
                          Cobra91151C Offline
                          Cobra91151
                          wrote on last edited by
                          #17

                          I run a few tests and found that Qt requires libmysql.lib to configure, but since it dynamic lib it won't work in my case. I think I should try to rename mysqlclient.lib to libmysql.lib and test it.

                          1 Reply Last reply
                          0
                          • Cobra91151C Offline
                            Cobra91151C Offline
                            Cobra91151
                            wrote on last edited by Cobra91151
                            #18

                            No, it fails with detection the MySQL if libmysql.lib has been changed, renamed or removed.

                            1 Reply Last reply
                            0
                            • Cobra91151C Offline
                              Cobra91151C Offline
                              Cobra91151
                              wrote on last edited by
                              #19

                              I think I have found the issue.

                              0_1536347309737_2018-09-07_220816.png

                              This line of code in the file - configure.json - { "libs": "-lmysqlclient", "condition": "!config.win32" } disables mysqlclient (static) lib because condition states that !win32, means not Windows system. I will change it and try again.

                              1 Reply Last reply
                              0
                              • Cobra91151C Offline
                                Cobra91151C Offline
                                Cobra91151
                                wrote on last edited by Cobra91151
                                #20

                                I have tried different solutions but it all failed.

                                The config.log:

                                + cd /d D:\QtBuild\Src\config.tests\mysql && D:\QtBuild\Src\qtbase\bin\qmake.exe "CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += static warn_off console single_arch" "QMAKE_LIBDIR += C:\\MySQL\\mysql-5.7.23-win32\\lib C:\\OpenSSL\\openssl-1.0.2l-vs2017\\lib" "INCLUDEPATH += C:\\MySQL\\mysql-5.7.23-win32\\include C:\\OpenSSL\\openssl-1.0.2l-vs2017\\include" "LIBS += -lmysqlclient" D:/QtBuild/Src/config.tests/mysql
                                + cd /d D:\QtBuild\Src\config.tests\mysql && set MAKEFLAGS=& nmake
                                > Microsoft (R) Program Maintenance Utility Version 14.15.26726.0
                                > Copyright (C) Microsoft Corporation.  All rights reserved.
                                > 	cl -c -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zi -MDd -W0 -EHsc /Fdmysql.vc.pdb -DUNICODE -D_UNICODE -DWIN32 -I. -IC:\MySQL\mysql-5.7.23-win32\include -IC:\OpenSSL\openssl-1.0.2l-vs2017\include -ID:\QtBuild\Src\qtbase\mkspecs\win32-msvc -Fo @C:\Users\cobra\AppData\Local\Temp\nmC064.tmp
                                > main.cpp
                                > 	link /NOLOGO /DYNAMICBASE /NXCOMPAT /DEBUG /SUBSYSTEM:CONSOLE "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" /MANIFEST:embed /OUT:mysql.exe @C:\Users\cobra\AppData\Local\Temp\nmC2B7.tmp
                                > LINK : warning LNK4098: defaultlib 'MSVCRT' conflicts with use of other libs; use /NODEFAULTLIB:library
                                > mysqlclient.lib(xml.obj) : error LNK2001: unresolved external symbol __imp__sprintf
                                > mysqlclient.lib(libmysql.obj) : error LNK2001: unresolved external symbol __imp__sprintf
                                > mysqlclient.lib(my_time.obj) : error LNK2001: unresolved external symbol __imp__sprintf
                                > mysqlclient.lib(client.obj) : error LNK2001: unresolved external symbol __imp__sprintf
                                > mysqlclient.lib(ctype.obj) : error LNK2001: unresolved external symbol __imp__sprintf
                                > mysqlclient.lib(my_init.obj) : error LNK2019: unresolved external symbol __imp__RegCloseKey@4 referenced in function _win32_have_tcpip
                                > mysqlclient.lib(my_init.obj) : error LNK2019: unresolved external symbol __imp__RegEnumValueA@32 referenced in function _win_init_registry
                                > mysqlclient.lib(my_init.obj) : error LNK2019: unresolved external symbol __imp__RegOpenKeyExA@20 referenced in function _win32_have_tcpip
                                > mysqlclient.lib(my_default.obj) : error LNK2001: unresolved external symbol __imp____iob_func
                                > mysqlclient.lib(log_client.obj) : error LNK2001: unresolved external symbol __imp____iob_func
                                > mysqlclient.lib(my_init.obj) : error LNK2001: unresolved external symbol __imp____iob_func
                                > mysqlclient.lib(my_winfile.obj) : error LNK2001: unresolved external symbol __imp____iob_func
                                > mysqlclient.lib(my_mess.obj) : error LNK2001: unresolved external symbol __imp____iob_func
                                > mysqlclient.lib(typelib.obj) : error LNK2001: unresolved external symbol __imp____iob_func
                                > mysqlclient.lib(my_mess.obj) : error LNK2019: unresolved external symbol __imp__fprintf referenced in function _my_message_stderr
                                > mysqlclient.lib(typelib.obj) : error LNK2001: unresolved external symbol __imp__fprintf
                                > mysqlclient.lib(log_client.obj) : error LNK2001: unresolved external symbol __imp__fprintf
                                > mysqlclient.lib(client_authentication.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) char const * __cdecl std::_Winerror_map(int)" (__imp_?_Winerror_map@std@@YAPBDH@Z) referenced in function "public: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall std::_System_error_category::message(int)const " (?message@_System_error_category@std@@UBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@H@Z)
                                > mysqlclient.lib(sha2_password_common.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) char const * __cdecl std::_Winerror_map(int)" (__imp_?_Winerror_map@std@@YAPBDH@Z)
                                > mysqlclient.lib(my_default.obj) : error LNK2019: unresolved external symbol __imp__printf referenced in function _my_load_defaults
                                > mysqlclient.lib(ssl.obj) : error LNK2019: unresolved external symbol __imp___snprintf referenced in function _ya_SSL_ASN1_TIME_to_string
                                > mysqlclient.lib(log_client.obj) : error LNK2019: unresolved external symbol __imp__vfprintf referenced in function "void __cdecl error_log_vprint(enum error_log_level::type,char const *,char *)" (?error_log_vprint@@YAXW4type@error_log_level@@PBDPAD@Z)
                                > mysqlclient.lib(common.obj) : error LNK2019: unresolved external symbol __imp__EqualSid@8 referenced in function "public: bool __thiscall Sid::operator==(class Sid const &)" (??8Sid@@QAE_NABV0@@Z)
                                > mysqlclient.lib(common.obj) : error LNK2019: unresolved external symbol __imp__GetTokenInformation@20 referenced in function "public: __thiscall Sid::Sid(void *)" (??0Sid@@QAE@PAX@Z)
                                > mysqlclient.lib(common.obj) : error LNK2019: unresolved external symbol __imp__IsValidSid@4 referenced in function "public: bool __thiscall Sid::is_valid(void)const " (?is_valid@Sid@@QBE_NXZ)
                                > mysqlclient.lib(common.obj) : error LNK2019: unresolved external symbol __imp__LookupAccountNameW@28 referenced in function "public: __thiscall Sid::Sid(wchar_t const *)" (??0Sid@@QAE@PB_W@Z)
                                > mysqlclient.lib(random.obj) : error LNK2019: unresolved external symbol __imp__CryptAcquireContextA@20 referenced in function "public: __thiscall TaoCrypt::OS_Seed::OS_Seed(void)" (??0OS_Seed@TaoCrypt@@QAE@XZ)
                                > mysqlclient.lib(random.obj) : error LNK2019: unresolved external symbol __imp__CryptReleaseContext@8 referenced in function "public: __thiscall TaoCrypt::OS_Seed::~OS_Seed(void)" (??1OS_Seed@TaoCrypt@@QAE@XZ)
                                > mysqlclient.lib(random.obj) : error LNK2019: unresolved external symbol __imp__CryptGenRandom@12 referenced in function "public: void __thiscall TaoCrypt::OS_Seed::GenerateSeed(unsigned char *,unsigned int)" (?GenerateSeed@OS_Seed@TaoCrypt@@QAEXPAEI@Z)
                                > mysql.exe : fatal error LNK1120: 17 unresolved externals
                                > NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.15.26726\bin\HostX86\x86\link.EXE"' : return code '0x460'
                                > Stop.
                                 => source failed verification.
                                Trying source 6 (type inline) of library mysql ...
                                + cd /d D:\QtBuild\Src\config.tests\mysql && D:\QtBuild\Src\qtbase\bin\qmake.exe "CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += static warn_off console single_arch" "QMAKE_LIBDIR += C:\\MySQL\\mysql-5.7.23-win32\\lib C:\\OpenSSL\\openssl-1.0.2l-vs2017\\lib" "INCLUDEPATH += C:\\MySQL\\mysql-5.7.23-win32\\include C:\\OpenSSL\\openssl-1.0.2l-vs2017\\include" "LIBS += -lmysqlclient" D:/QtBuild/Src/config.tests/mysql
                                + cd /d D:\QtBuild\Src\config.tests\mysql && set MAKEFLAGS=& nmake clean && set MAKEFLAGS=& nmake
                                > Microsoft (R) Program Maintenance Utility Version 14.15.26726.0
                                > Copyright (C) Microsoft Corporation.  All rights reserved.
                                > 	del main.obj
                                > 	del mysql.vc.pdb mysql.ilk mysql.idb
                                > Microsoft (R) Program Maintenance Utility Version 14.15.26726.0
                                > Copyright (C) Microsoft Corporation.  All rights reserved.
                                > 	cl -c -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zi -MDd -W0 -EHsc /Fdmysql.vc.pdb -DUNICODE -D_UNICODE -DWIN32 -I. -IC:\MySQL\mysql-5.7.23-win32\include -IC:\OpenSSL\openssl-1.0.2l-vs2017\include -ID:\QtBuild\Src\qtbase\mkspecs\win32-msvc -Fo @C:\Users\cobra\AppData\Local\Temp\nmC3CF.tmp
                                > main.cpp
                                > 	link /NOLOGO /DYNAMICBASE /NXCOMPAT /DEBUG /SUBSYSTEM:CONSOLE "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" /MANIFEST:embed /OUT:mysql.exe @C:\Users\cobra\AppData\Local\Temp\nmC632.tmp
                                > LINK : warning LNK4098: defaultlib 'MSVCRT' conflicts with use of other libs; use /NODEFAULTLIB:library
                                > mysqlclient.lib(xml.obj) : error LNK2001: unresolved external symbol __imp__sprintf
                                > mysqlclient.lib(libmysql.obj) : error LNK2001: unresolved external symbol __imp__sprintf
                                > mysqlclient.lib(my_time.obj) : error LNK2001: unresolved external symbol __imp__sprintf
                                > mysqlclient.lib(client.obj) : error LNK2001: unresolved external symbol __imp__sprintf
                                > mysqlclient.lib(ctype.obj) : error LNK2001: unresolved external symbol __imp__sprintf
                                > mysqlclient.lib(my_init.obj) : error LNK2019: unresolved external symbol __imp__RegCloseKey@4 referenced in function _win32_have_tcpip
                                > mysqlclient.lib(my_init.obj) : error LNK2019: unresolved external symbol __imp__RegEnumValueA@32 referenced in function _win_init_registry
                                > mysqlclient.lib(my_init.obj) : error LNK2019: unresolved external symbol __imp__RegOpenKeyExA@20 referenced in function _win32_have_tcpip
                                > mysqlclient.lib(my_default.obj) : error LNK2001: unresolved external symbol __imp____iob_func
                                > mysqlclient.lib(log_client.obj) : error LNK2001: unresolved external symbol __imp____iob_func
                                > mysqlclient.lib(my_init.obj) : error LNK2001: unresolved external symbol __imp____iob_func
                                > mysqlclient.lib(my_winfile.obj) : error LNK2001: unresolved external symbol __imp____iob_func
                                > mysqlclient.lib(my_mess.obj) : error LNK2001: unresolved external symbol __imp____iob_func
                                > mysqlclient.lib(typelib.obj) : error LNK2001: unresolved external symbol __imp____iob_func
                                > mysqlclient.lib(my_mess.obj) : error LNK2019: unresolved external symbol __imp__fprintf referenced in function _my_message_stderr
                                > mysqlclient.lib(typelib.obj) : error LNK2001: unresolved external symbol __imp__fprintf
                                > mysqlclient.lib(log_client.obj) : error LNK2001: unresolved external symbol __imp__fprintf
                                > mysqlclient.lib(client_authentication.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) char const * __cdecl std::_Winerror_map(int)" (__imp_?_Winerror_map@std@@YAPBDH@Z) referenced in function "public: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall std::_System_error_category::message(int)const " (?message@_System_error_category@std@@UBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@H@Z)
                                > mysqlclient.lib(sha2_password_common.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) char const * __cdecl std::_Winerror_map(int)" (__imp_?_Winerror_map@std@@YAPBDH@Z)
                                > mysqlclient.lib(my_default.obj) : error LNK2019: unresolved external symbol __imp__printf referenced in function _my_load_defaults
                                > mysqlclient.lib(ssl.obj) : error LNK2019: unresolved external symbol __imp___snprintf referenced in function _ya_SSL_ASN1_TIME_to_string
                                > mysqlclient.lib(log_client.obj) : error LNK2019: unresolved external symbol __imp__vfprintf referenced in function "void __cdecl error_log_vprint(enum error_log_level::type,char const *,char *)" (?error_log_vprint@@YAXW4type@error_log_level@@PBDPAD@Z)
                                > mysqlclient.lib(common.obj) : error LNK2019: unresolved external symbol __imp__EqualSid@8 referenced in function "public: bool __thiscall Sid::operator==(class Sid const &)" (??8Sid@@QAE_NABV0@@Z)
                                > mysqlclient.lib(common.obj) : error LNK2019: unresolved external symbol __imp__GetTokenInformation@20 referenced in function "public: __thiscall Sid::Sid(void *)" (??0Sid@@QAE@PAX@Z)
                                > mysqlclient.lib(common.obj) : error LNK2019: unresolved external symbol __imp__IsValidSid@4 referenced in function "public: bool __thiscall Sid::is_valid(void)const " (?is_valid@Sid@@QBE_NXZ)
                                > mysqlclient.lib(common.obj) : error LNK2019: unresolved external symbol __imp__LookupAccountNameW@28 referenced in function "public: __thiscall Sid::Sid(wchar_t const *)" (??0Sid@@QAE@PB_W@Z)
                                > mysqlclient.lib(random.obj) : error LNK2019: unresolved external symbol __imp__CryptAcquireContextA@20 referenced in function "public: __thiscall TaoCrypt::OS_Seed::OS_Seed(void)" (??0OS_Seed@TaoCrypt@@QAE@XZ)
                                > mysqlclient.lib(random.obj) : error LNK2019: unresolved external symbol __imp__CryptReleaseContext@8 referenced in function "public: __thiscall TaoCrypt::OS_Seed::~OS_Seed(void)" (??1OS_Seed@TaoCrypt@@QAE@XZ)
                                > mysqlclient.lib(random.obj) : error LNK2019: unresolved external symbol __imp__CryptGenRandom@12 referenced in function "public: void __thiscall TaoCrypt::OS_Seed::GenerateSeed(unsigned char *,unsigned int)" (?GenerateSeed@OS_Seed@TaoCrypt@@QAEXPAEI@Z)
                                > mysql.exe : fatal error LNK1120: 17 unresolved externals
                                > NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.15.26726\bin\HostX86\x86\link.EXE"' : return code '0x460'
                                > Stop.
                                 => source failed verification.
                                test config.sqldrivers.libraries.mysql FAILED
                                looking for library oci
                                Trying source 0 (type inline) of library oci ...
                                + cd /d D:\QtBuild\Src\config.tests\oci && D:\QtBuild\Src\qtbase\bin\qmake.exe "CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += static warn_off console single_arch" "QMAKE_LIBDIR += C:\\MySQL\\mysql-5.7.23-win32\\lib C:\\OpenSSL\\openssl-1.0.2l-vs2017\\lib" "INCLUDEPATH += C:\\MySQL\\mysql-5.7.23-win32\\include C:\\OpenSSL\\openssl-1.0.2l-vs2017\\include" "LIBS += -loci" D:/QtBuild/Src/config.tests/oci
                                + cd /d D:\QtBuild\Src\config.tests\oci && set MAKEFLAGS=& nmake
                                > Microsoft (R) Program Maintenance Utility Version 14.15.26726.0
                                > Copyright (C) Microsoft Corporation.  All rights reserved.
                                > 	cl -c -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zi -MDd -W0 -EHsc /Fdoci.vc.pdb -DUNICODE -D_UNICODE -DWIN32 -I. -IC:\MySQL\mysql-5.7.23-win32\include -IC:\OpenSSL\openssl-1.0.2l-vs2017\include -ID:\QtBuild\Src\qtbase\mkspecs\win32-msvc -Fo @C:\Users\cobra\AppData\Local\Temp\nmC6EC.tmp
                                > main.cpp
                                > .\main.cpp(2): fatal error C1083: Cannot open include file: 'oci.h': No such file or directory
                                > NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.15.26726\bin\HostX86\x86\cl.EXE"' : return code '0x2'
                                > Stop.
                                

                                Any ideas how to make it compile with the static library? Thanks.

                                1 Reply Last reply
                                0
                                • SGaistS SGaist

                                  MT and MD are just related to the Windows runtime type you'll be using.

                                  Cobra91151C Offline
                                  Cobra91151C Offline
                                  Cobra91151
                                  wrote on last edited by Cobra91151
                                  #21

                                  @SGaist said in Qt static with MySQL issue:

                                  MT and MD are just related to the Windows runtime type you'll be using.

                                  The issue must be with this. I checked Qt configure log and the same errors are displayed with MFC static test project in VS 2017.

                                  alt text

                                  LINK : warning LNK4098: defaultlib 'MSVCRT' conflicts with use of other libs; use /NODEFAULTLIB:library
                                  1>mysqlclient.lib(xml.obj) : error LNK2001: unresolved external symbol __imp__sprintf
                                  1>mysqlclient.lib(libmysql.obj) : error LNK2001: unresolved external symbol __imp__sprintf
                                  1>mysqlclient.lib(my_time.obj) : error LNK2001: unresolved external symbol __imp__sprintf
                                  1>mysqlclient.lib(client.obj) : error LNK2001: unresolved external symbol __imp__sprintf
                                  1>mysqlclient.lib(ctype.obj) : error LNK2001: unresolved external symbol __imp__sprintf
                                  1>mysqlclient.lib(my_error.obj) : error LNK2001: unresolved external symbol __imp__strcat_s
                                  1>mysqlclient.lib(my_error.obj) : error LNK2001: unresolved external symbol __imp__strerror_s
                                  1>mysqlclient.lib(my_init.obj) : error LNK2001: unresolved external symbol __imp__strdup
                                  1>mysqlclient.lib(yassl_int.obj) : error LNK2001: unresolved external symbol __imp__strdup
                                  1>OLDNAMES.lib(strdup.obi) : error LNK2001: unresolved external symbol __imp__strdup
                                  1>mysqlclient.lib(my_default.obj) : error LNK2001: unresolved external symbol __imp____iob_func
                                  1>mysqlclient.lib(log_client.obj) : error LNK2001: unresolved external symbol __imp____iob_func
                                  1>mysqlclient.lib(my_init.obj) : error LNK2001: unresolved external symbol __imp____iob_func
                                  1>mysqlclient.lib(my_winfile.obj) : error LNK2001: unresolved external symbol __imp____iob_func
                                  1>mysqlclient.lib(my_mess.obj) : error LNK2001: unresolved external symbol __imp____iob_func
                                  1>mysqlclient.lib(typelib.obj) : error LNK2001: unresolved external symbol __imp____iob_func
                                  1>mysqlclient.lib(my_init.obj) : error LNK2001: unresolved external symbol __imp__putenv
                                  

                                  It leads to Qt configure errors. For some reason it conflicts with MSVCRT lib.

                                  1 Reply Last reply
                                  0
                                  • Cobra91151C Offline
                                    Cobra91151C Offline
                                    Cobra91151
                                    wrote on last edited by Cobra91151
                                    #22

                                    I have run some tests on another PC, the same errors are present there. So, I think the mysqlclient is build for another compiler, maybe, MinGW or older VS versions. I need to find the MySQL source code and compile mysqlclient (static) lib for Visual Studio 2017. Any ideas where I can find it? Thanks.

                                    1 Reply Last reply
                                    0
                                    • Cobra91151C Offline
                                      Cobra91151C Offline
                                      Cobra91151
                                      wrote on last edited by
                                      #23

                                      I have found the source code here: https://dev.mysql.com/downloads/mysql/
                                      Now I will read docs how to compile it.

                                      1 Reply Last reply
                                      0
                                      • Cobra91151C Offline
                                        Cobra91151C Offline
                                        Cobra91151
                                        wrote on last edited by Cobra91151
                                        #24

                                        I have built the MySQL libs, added to the MFC test project and it displays the same errors. It's strange. Next, I will install virtual machine, VS 2015 and build the test project there.

                                        1 Reply Last reply
                                        0
                                        • Cobra91151C Offline
                                          Cobra91151C Offline
                                          Cobra91151
                                          wrote on last edited by Cobra91151
                                          #25

                                          I have found the issue and built the MySQL libs. Then I reconfigure Qt, all built well but when I build my project I get the issue:

                                          0_1536746965093_2018-09-12_130828.png

                                          So, mysqlclient.lib already has the OpenSSL?

                                          Also, I have the issue with debugging the app:

                                          0_1536747346285_2018-09-12_131522.png

                                          I have the debug version of the library, but I want to know how to add it to the configure? I have tried: MYSQL_LIBS_DEBUG/MYSQL_LIBS_RELEASE but it fails with detection of MySQL. Any ideas? Thanks.

                                          1 Reply Last reply
                                          0

                                          • Login

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Users
                                          • Groups
                                          • Search
                                          • Get Qt Extensions
                                          • Unsolved