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 23.2k 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 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
                                        • Cobra91151C Offline
                                          Cobra91151C Offline
                                          Cobra91151
                                          wrote on last edited by
                                          #26

                                          I have found that I must have the OpenSSL built statically as /MD runtime lib in order to compile my project. The question is where to get such library or source code? Thanks in advance.

                                          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