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 21.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.
  • C Offline
    C Offline
    Cobra91151
    wrote on 10 Sept 2018, 13:06 last edited by Cobra91151 9 Oct 2018, 13:16
    #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
    • C Offline
      C Offline
      Cobra91151
      wrote on 12 Sept 2018, 10:17 last edited by Cobra91151 9 Dec 2018, 10:21
      #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
      • C Offline
        C Offline
        Cobra91151
        wrote on 12 Sept 2018, 15:24 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
        • C Offline
          C Offline
          Cobra91151
          wrote on 13 Sept 2018, 21:20 last edited by Cobra91151
          #27

          I have fixed the issue with MYSQL_LIBS_DEBUG/MYSQL_LIBS_RELEASE libs by creating the advanced batch script file. So, it compiles the debug/release separately, has a support to remove Qt source dir and unpack the source from archive using WinRaR for the next compilation.

          By the way, I get issue when building static Qt in the debug mode:

          0_1536873948680_2018-09-13_231407.png

          By pressing Retry it continues to build Qt successfully.

          Still one more issue to fix:
          MySQL issue

          1 Reply Last reply
          0
          • C Offline
            C Offline
            Cobra91151
            wrote on 16 Sept 2018, 09:55 last edited by Cobra91151
            #28

            So, I have fixed the issue:

            alt text

            Solution:
            OpenSSL source code: 1.1.1
            MySQL source code: 5.7.23

            1. Compile static OpenSSL libs with /MDd | /MD flags for Debug/Release mode
            2. Compile MySQL static libs (/MDd | /MD) with pre-compiled OpenSSL static libs (option 1)

            I test it in the simple console app in the Visual Studio 2017:

            Code:

            #include <iostream>
            #include <mysql.h>
            #include <openssl/bio.h>
            #include <openssl/ssl.h>
            #include <openssl/err.h>
            using namespace std;
            
            int main()
            {
            	cout << "Hello World!" << endl;
            	cout << "Hello!" << endl;
            	SSL_load_error_strings();
            	ERR_load_BIO_strings();
            	OpenSSL_add_all_algorithms();
            	printf("MySQL client version: %s\n", mysql_get_client_info());
            	system("PAUSE");
            	return 0;
            }
            

            The result:

            0_1537091492952_2018-09-16_125117.png

            Now I configure Qt statically with these libs (MySQL & OpenSSL), first in the Debug mode. It find MySQL and OpenSSL during configuration but then I get this issue:

            0_1537091590480_2018-09-16_125301.png

            The question is how to fix this issue with Qt? Thanks in advance.

            A 1 Reply Last reply 16 Sept 2018, 09:58
            0
            • C Cobra91151
              16 Sept 2018, 09:55

              So, I have fixed the issue:

              alt text

              Solution:
              OpenSSL source code: 1.1.1
              MySQL source code: 5.7.23

              1. Compile static OpenSSL libs with /MDd | /MD flags for Debug/Release mode
              2. Compile MySQL static libs (/MDd | /MD) with pre-compiled OpenSSL static libs (option 1)

              I test it in the simple console app in the Visual Studio 2017:

              Code:

              #include <iostream>
              #include <mysql.h>
              #include <openssl/bio.h>
              #include <openssl/ssl.h>
              #include <openssl/err.h>
              using namespace std;
              
              int main()
              {
              	cout << "Hello World!" << endl;
              	cout << "Hello!" << endl;
              	SSL_load_error_strings();
              	ERR_load_BIO_strings();
              	OpenSSL_add_all_algorithms();
              	printf("MySQL client version: %s\n", mysql_get_client_info());
              	system("PAUSE");
              	return 0;
              }
              

              The result:

              0_1537091492952_2018-09-16_125117.png

              Now I configure Qt statically with these libs (MySQL & OpenSSL), first in the Debug mode. It find MySQL and OpenSSL during configuration but then I get this issue:

              0_1537091590480_2018-09-16_125301.png

              The question is how to fix this issue with Qt? Thanks in advance.

              A Offline
              A Offline
              aha_1980
              Lifetime Qt Champion
              wrote on 16 Sept 2018, 09:58 last edited by
              #29
              This post is deleted!
              C 1 Reply Last reply 16 Sept 2018, 09:59
              0
              • A aha_1980
                16 Sept 2018, 09:58

                This post is deleted!

                C Offline
                C Offline
                Cobra91151
                wrote on 16 Sept 2018, 09:59 last edited by Cobra91151
                #30

                @aha_1980

                My issue is not solved because Qt for some reason doesn't build it. The question is why it can't build it properly now?

                1 Reply Last reply
                0
                • C Offline
                  C Offline
                  Cobra91151
                  wrote on 16 Sept 2018, 10:52 last edited by
                  #31

                  I think that Qt is not compatible with the following OpenSSL libs:

                  1. libcrypto.lib
                  2. libssl.lib
                  1 Reply Last reply
                  0
                  • SGaistS Offline
                    SGaistS Offline
                    SGaist
                    Lifetime Qt Champion
                    wrote on 16 Sept 2018, 21:12 last edited by
                    #32

                    OpenSSL .1.1.X is supported since Qt 5.10.

                    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
                    1
                    • C Offline
                      C Offline
                      Cobra91151
                      wrote on 17 Sept 2018, 10:42 last edited by Cobra91151
                      #33

                      Finally, I have fixed the issue.

                      Solution:

                      I built the static OpenSSL libs: 1.0.2l and MySQL: 5.7.23 static libs with pre-built early OpenSSL libs providing the flag:

                      -DCRYPTO_LIBRARY="path to lib\libeay32MD.lib" to the cmake, because libeay32 corresponds to libcrypto.

                      I reconfigured the Qt statically with these static libs. Now it works for x86 and x64 and these libs are embedded into the executable. The issue is resolved.

                      C 2 Replies Last reply 29 Dec 2018, 09:11
                      0
                      • C Cobra91151
                        17 Sept 2018, 10:42

                        Finally, I have fixed the issue.

                        Solution:

                        I built the static OpenSSL libs: 1.0.2l and MySQL: 5.7.23 static libs with pre-built early OpenSSL libs providing the flag:

                        -DCRYPTO_LIBRARY="path to lib\libeay32MD.lib" to the cmake, because libeay32 corresponds to libcrypto.

                        I reconfigured the Qt statically with these static libs. Now it works for x86 and x64 and these libs are embedded into the executable. The issue is resolved.

                        C Offline
                        C Offline
                        cawlfj
                        wrote on 29 Dec 2018, 09:11 last edited by
                        #34

                        @Cobra91151
                        could you send a copy static libs(mysqlclient.lib \qsqlmysql.lib build with vs2017 MT)?
                        Or give me a details of build it and qsqlmysql.lib with vs2017 on windows10, i want to build it by QT5.12 .
                        Many thanks for your help!
                        jeff

                        1 Reply Last reply
                        0
                        • C Cobra91151
                          17 Sept 2018, 10:42

                          Finally, I have fixed the issue.

                          Solution:

                          I built the static OpenSSL libs: 1.0.2l and MySQL: 5.7.23 static libs with pre-built early OpenSSL libs providing the flag:

                          -DCRYPTO_LIBRARY="path to lib\libeay32MD.lib" to the cmake, because libeay32 corresponds to libcrypto.

                          I reconfigured the Qt statically with these static libs. Now it works for x86 and x64 and these libs are embedded into the executable. The issue is resolved.

                          C Offline
                          C Offline
                          cawlfj
                          wrote on 29 Dec 2018, 13:35 last edited by
                          #35

                          @Cobra91151
                          I used below configure

                          configure -confirm-license -opensource -release -static -static-runtime -mp -platform win32-msvc -prefix "D:\QT\512M" -sql-mysql MYSQL_PREFIX="C:/mysql" MYSQL_LIBS="-lmysqlclient" -gui -no-dbus -widgets -qt-zlib -qt-libjpeg -gif -ico -qt-libpng -qt-xkbcommon -qt-freetype -qt-pcre -qt-harfbuzz -opengl desktop -nomake tests -nomake examples -no-compile-examples -skip qttranslations -skip qtserialport -skip qtwebengine -recheck-all

                          and got
                          ERROR: Feature 'sql-mysql' was enabled, but the pre-condition 'libs.mysql' failed.

                          in config.log found below information about mysql:

                          cd /d C:\Qt\Qt5.12.0\5.12.0\Src\config.tests\mysql && C:\Qt\Qt5.12.0\5.12.0\Src\qtbase\bin\qmake.exe "CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += static warn_off console single_arch" "QMAKE_USE += mysql" "QMAKE_LIBS_MYSQL = -LC:/mysql/lib -lmysqlclient" "QMAKE_INCDIR_MYSQL = C:/mysql/include" C:/Qt/Qt5.12.0/5.12.0/Src/config.tests/mysql

                          • cd /d C:\Qt\Qt5.12.0\5.12.0\Src\config.tests\mysql && set MAKEFLAGS=& nmake clean && set MAKEFLAGS=& nmake

                            cl -c -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -O2 -MT -W0 -EHsc -DUNICODE -D_UNICODE -DWIN32 -D_ENABLE_EXTENDED_ALIGNED_STORAGE -DWIN64 -DNDEBUG -I. -IC:\mysql\include -IC:\Qt\Qt5.12.0\5.12.0\Src\qtbase\mkspecs\win32-msvc -Fo @C:\Users\jeff\AppData\Local\Temp\nmAAE6.tmp

                          main.cpp
                          link /NOLOGO /DYNAMICBASE /NXCOMPAT /INCREMENTAL:NO /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\jeff\AppData\Local\Temp\nmACDB.tmp
                          LINK : warning LNK4098: 默认库“MSVCRT”与其他库的使用冲突;请使用 /NODEFAULTLIB:library
                          mysqlclient.lib(bchange.obj) : warning LNK4049: 已导入本地定义的符号 memmove
                          mysqlclient.lib(ctype-tis620.obj) : warning LNK4049: 已导入本地定义的符号 memmove
                          mysqlclient.lib(net_serv.obj) : warning LNK4049: 已导入本地定义的符号 memmove
                          mysqlclient.lib(client.obj) : warning LNK4049: 已导入本地定义的符号 memmove
                          mysqlclient.lib(mf_pack.obj) : warning LNK4049: 已导入本地定义的符号 memmove
                          mysqlclient.lib(mf_dirname.obj) : warning LNK4049: 已导入本地定义的符号 memmove
                          mysqlclient.lib(libmysql.obj) : warning LNK4217: 本地定义的符号 memmove 在函数 fetch_float_with_conversion 中导入
                          mysqlclient.lib(mf_format.obj) : warning LNK4049: 已导入本地定义的符号 memmove
                          mysqlclient.lib(my_time.obj) : warning LNK4049: 已导入本地定义的符号 memmove
                          mysqlclient.lib(my_vsnprintf.obj) : warning LNK4049: 已导入本地定义的符号 memmove
                          mysqlclient.lib(ssl.obj) : warning LNK4049: 已导入本地定义的符号 __stdio_common_vsprintf
                          mysqlclient.lib(xml.obj) : warning LNK4049: 已导入本地定义的符号 __stdio_common_vsprintf
                          mysqlclient.lib(libmysql.obj) : warning LNK4217: 本地定义的符号 __stdio_common_vsprintf 在函数 sprintf 中导入
                          mysqlclient.lib(my_time.obj) : warning LNK4049: 已导入本地定义的符号 __stdio_common_vsprintf
                          mysqlclient.lib(client.obj) : warning LNK4049: 已导入本地定义的符号 __stdio_common_vsprintf
                          mysqlclient.lib(ctype.obj) : warning LNK4217: 本地定义的符号 __stdio_common_vsprintf 在函数 cs_leave 中导入
                          mysqlclient.lib(libmysql.obj) : warning LNK4217: 本地定义的符号 atoi 在函数 mysql_server_init 中导入
                          mysqlclient.lib(client.obj) : warning LNK4049: 已导入本地定义的符号 atoi
                          mysqlclient.lib(typelib.obj) : warning LNK4049: 已导入本地定义的符号 atoi
                          mysqlclient.lib(handshake_client.obj) : warning LNK4049: 已导入本地定义的符号 atoi
                          mysqlclient.lib(my_thr_init.obj) : warning LNK4217: 本地定义的符号 _set_abort_behavior 在函数 my_thread_init 中导入
                          mysqlclient.lib(my_thr_init.obj) : warning LNK4217: 本地定义的符号 signal 在函数 my_thread_init 中导入
                          mysqlclient.lib(my_fstream.obj) : warning LNK4049: 已导入本地定义的符号 _errno
                          mysqlclient.lib(crypt_genhash_impl.obj) : warning LNK4049: 已导入本地定义的符号 _errno
                          mysqlclient.lib(my_fopen.obj) : warning LNK4217: 本地定义的符号 _errno 在函数 my_win_freopen 中导入
                          mysqlclient.lib(my_thread.obj) : warning LNK4217: 本地定义的符号 _errno 在函数 my_thread_create 中导入
                          mysqlclient.lib(my_lib.obj) : warning LNK4217: 本地定义的符号 _errno 在函数 my_dir 中导入
                          mysqlclient.lib(my_access.obj) : warning LNK4049: 已导入本地定义的符号 _errno
                          mysqlclient.lib(my_winerr.obj) : warning LNK4049: 已导入本地定义的符号 _errno
                          mysqlclient.lib(my_winfile.obj) : warning LNK4049: 已导入本地定义的符号 _errno
                          mysqlclient.lib(my_once.obj) : warning LNK4217: 本地定义的符号 _errno 在函数 my_once_alloc 中导入
                          mysqlclient.lib(str2int.obj) : warning LNK4049: 已导入本地定义的符号 _errno
                          mysqlclient.lib(my_getwd.obj) : warning LNK4217: 本地定义的符号 _errno 在函数 my_getwd 中导入
                          mysqlclient.lib(my_malloc.obj) : warning LNK4217: 本地定义的符号 _errno 在函数 my_raw_malloc 中导入
                          mysqlclient.lib(my_open.obj) : warning LNK4217: 本地定义的符号 _errno 在函数 my_close 中导入
                          mysqlclient.lib(my_read.obj) : warning LNK4049: 已导入本地定义的符号 _errno
                          mysqlclient.lib(client.obj) : warning LNK4049: 已导入本地定义的符号 _errno
                          mysqlclient.lib(my_malloc.obj) : warning LNK4217: 本地定义的符号 calloc 在函数 my_raw_malloc 中导入
                          mysqlclient.lib(zutil.obj) : warning LNK4049: 已导入本地定义的符号 free
                          mysqlclient.lib(yassl_int.obj) : warning LNK4217: 本地定义的符号 free 在函数 "public: void __cdecl yaSSL::SSL::makeTLSMasterSecret(void)" (?makeTLSMasterSecret@SSL@yaSSL@@QEAAXXZ) 中导入
                          mysqlclient.lib(handshake_client.obj) : warning LNK4049: 已导入本地定义的符号 free
                          mysqlclient.lib(str_alloc.obj) : warning LNK4049: 已导入本地定义的符号 free
                          mysqlclient.lib(common.obj) : warning LNK4049: 已导入本地定义的符号 free
                          mysqlclient.lib(my_malloc.obj) : warning LNK4217: 本地定义的符号 free 在函数 my_free 中导入
                          mysqlclient.lib(dtoa.obj) : warning LNK4049: 已导入本地定义的符号 free
                          mysqlclient.lib(my_once.obj) : warning LNK4049: 已导入本地定义的符号 free
                          mysqlclient.lib(my_thread.obj) : warning LNK4049: 已导入本地定义的符号 free
                          mysqlclient.lib(ssl.obj) : warning LNK4049: 已导入本地定义的符号 malloc
                          mysqlclient.lib(str_alloc.obj) : warning LNK4049: 已导入本地定义的符号 malloc
                          mysqlclient.lib(common.obj) : warning LNK4049: 已导入本地定义的符号 malloc
                          mysqlclient.lib(zutil.obj) : warning LNK4049: 已导入本地定义的符号 malloc
                          mysqlclient.lib(my_malloc.obj) : warning LNK4217: 本地定义的符号 malloc 在函数 my_raw_malloc 中导入
                          mysqlclient.lib(dtoa.obj) : warning LNK4049: 已导入本地定义的符号 malloc
                          mysqlclient.lib(my_once.obj) : warning LNK4049: 已导入本地定义的符号 malloc
                          mysqlclient.lib(my_thread.obj) : warning LNK4049: 已导入本地定义的符号 malloc
                          mysqlclient.lib(str_alloc.obj) : warning LNK4049: 已导入本地定义的符号 exit
                          mysqlclient.lib(my_malloc.obj) : warning LNK4217: 本地定义的符号 exit 在函数 my_raw_malloc 中导入
                          mysqlclient.lib(client.obj) : warning LNK4049: 已导入本地定义的符号 exit
                          mysqlclient.lib(typelib.obj) : warning LNK4049: 已导入本地定义的符号 exit
                          mysqlclient.lib(my_default.obj) : warning LNK4049: 已导入本地定义的符号 exit
                          mysqlclient.lib(my_default.obj) : warning LNK4049: 已导入本地定义的符号 __acrt_iob_func
                          mysqlclient.lib(log_client.obj) : warning LNK4049: 已导入本地定义的符号 __acrt_iob_func
                          mysqlclient.lib(my_init.obj) : warning LNK4217: 本地定义的符号 __acrt_iob_func 在函数 my_end 中导入
                          mysqlclient.lib(my_winfile.obj) : warning LNK4049: 已导入本地定义的符号 __acrt_iob_func
                          mysqlclient.lib(my_mess.obj) : warning LNK4049: 已导入本地定义的符号 __acrt_iob_func
                          mysqlclient.lib(typelib.obj) : warning LNK4217: 本地定义的符号 __acrt_iob_func 在函数 find_type_or_exit 中导入
                          mysqlclient.lib(my_init.obj) : warning LNK4217: 本地定义的符号 _set_invalid_parameter_handler 在函数 my_init 中导入
                          mysqlclient.lib(crypt_genhash_impl.obj) : warning LNK4049: 已导入本地定义的符号 strchr
                          mysqlclient.lib(ctype.obj) : warning LNK4217: 本地定义的符号 strchr 在函数 cs_file_sec 中导入
                          mysqlclient.lib(my_default.obj) : warning LNK4049: 已导入本地定义的符号 strchr
                          mysqlclient.lib(my_access.obj) : warning LNK4049: 已导入本地定义的符号 strchr
                          mysqlclient.lib(xml.obj) : warning LNK4049: 已导入本地定义的符号 strchr
                          mysqlclient.lib(mf_format.obj) : warning LNK4217: 本地定义的符号 strchr 在函数 fn_format 中导入
                          mysqlclient.lib(client_plugin.obj) : warning LNK4049: 已导入本地定义的符号 strchr
                          mysqlclient.lib(my_winfile.obj) : warning LNK4049: 已导入本地定义的符号 strchr
                          mysqlclient.lib(my_getwd.obj) : warning LNK4049: 已导入本地定义的符号 strchr
                          mysqlclient.lib(charset.obj) : warning LNK4217: 本地定义的符号 _strnicmp 在函数 get_collation_number 中导入
                          mysqlclient.lib(ctype-uca.obj) : warning LNK4049: 已导入本地定义的符号 _strnicmp
                          mysqlclient.lib(handshake_client.obj) : warning LNK4049: 已导入本地定义的符号 _strnicmp
                          mysqlclient.lib(my_vsnprintf.obj) : warning LNK4217: 本地定义的符号 strnlen 在函数 process_str_arg 中导入
                          mysqlclient.lib(yassl_int.obj) : warning LNK4049: 已导入本地定义的符号 strncmp
                          mysqlclient.lib(crypt_genhash_impl.obj) : warning LNK4049: 已导入本地定义的符号 strncmp
                          mysqlclient.lib(handshake.obj) : warning LNK4049: 已导入本地定义的符号 strncmp
                          mysqlclient.lib(crypto_wrapper.obj) : warning LNK4217: 本地定义的符号 strncmp 在函数 "unsigned char * __cdecl TaoCrypt::StdReallocate<unsigned char,class TaoCrypt::AllocatorWithCleanup<unsigned char> >(class TaoCrypt::AllocatorWithCleanup<unsigned char> &,unsigned char *,unsigned __int64,unsigned __int64,bool)" (??$StdReallocate@EV?$AllocatorWithCleanup@E@TaoCrypt@@@TaoCrypt@@YAPEAEAEAV?$AllocatorWithCleanup@E@0@PEAE_K2_N@Z) 中导入
                          mysqlclient.lib(client.obj) : warning LNK4217: 本地定义的符号 strncmp 在函数 read_ok_ex 中导入
                          mysqlclient.lib(ctype.obj) : warning LNK4217: 本地定义的符号 strncmp 在函数 cs_value 中导入
                          mysqlclient.lib(my_default.obj) : warning LNK4049: 已导入本地定义的符号 strncmp
                          mysqlclient.lib(ssl.obj) : warning LNK4049: 已导入本地定义的符号 strncmp
                          mysqlclient.lib(client.obj) : warning LNK4217: 本地定义的符号 strtoul 在函数 mysql_get_server_version 中导入
                          mysqlclient.lib(ctype.obj) : warning LNK4049: 已导入本地定义的符号 strtoul
                          mysqlclient.lib(my_winfile.obj) : warning LNK4217: 本地定义的符号 _close 在函数 my_win_fstat 中导入
                          mysqlclient.lib(my_fopen.obj) : warning LNK4049: 已导入本地定义的符号 _close
                          mysqlclient.lib(my_winfile.obj) : warning LNK4217: 本地定义的符号 _get_osfhandle 在函数 my_win_fileno 中导入
                          mysqlclient.lib(my_winfile.obj) : warning LNK4217: 本地定义的符号 _open_osfhandle 在函数 my_win_fdopen 中导入
                          mysqlclient.lib(my_fopen.obj) : warning LNK4049: 已导入本地定义的符号 _open_osfhandle
                          mysqlclient.lib(my_winfile.obj) : warning LNK4217: 本地定义的符号 fclose 在函数 my_win_fclose 中导入
                          mysqlclient.lib(ssl.obj) : warning LNK4049: 已导入本地定义的符号 fclose
                          mysqlclient.lib(file.obj) : warning LNK4049: 已导入本地定义的符号 fclose
                          mysqlclient.lib(my_mess.obj) : warning LNK4217: 本地定义的符号 strrchr 在函数 my_message_stderr 中导入
                          mysqlclient.lib(mf_pack.obj) : warning LNK4049: 已导入本地定义的符号 strrchr
                          mysqlclient.lib(mf_dirname.obj) : warning LNK4217: 本地定义的符号 strrchr 在函数 convert_dirname 中导入
                          mysqlclient.lib(mf_fn_ext.obj) : warning LNK4049: 已导入本地定义的符号 strrchr
                          mysqlclient.lib(my_mess.obj) : warning LNK4217: 本地定义的符号 fflush 在函数 my_message_stderr 中导入
                          mysqlclient.lib(log_client.obj) : warning LNK4049: 已导入本地定义的符号 fflush
                          mysqlclient.lib(my_mess.obj) : warning LNK4217: 本地定义的符号 fputc 在函数 my_message_stderr 中导入
                          mysqlclient.lib(my_default.obj) : warning LNK4049: 已导入本地定义的符号 fputc
                          mysqlclient.lib(log_client.obj) : warning LNK4049: 已导入本地定义的符号 fputc
                          mysqlclient.lib(my_mess.obj) : warning LNK4217: 本地定义的符号 __stdio_common_vfprintf 在函数 fprintf 中导入
                          mysqlclient.lib(typelib.obj) : warning LNK4217: 本地定义的符号 __stdio_common_vfprintf 在函数 find_set_from_flags 中导入
                          mysqlclient.lib(my_default.obj) : warning LNK4049: 已导入本地定义的符号 __stdio_common_vfprintf
                          mysqlclient.lib(log_client.obj) : warning LNK4217: 本地定义的符号 __stdio_common_vfprintf 在函数 "void __cdecl error_log_vprint(enum error_log_level::type,char const *,char *)" (?error_log_vprint@@YAXW4type@error_log_level@@PEBDPEAD@Z) 中导入
                          mysqlclient.lib(ctype.obj) : warning LNK4217: 本地定义的符号 strtol 在函数 cs_value 中导入
                          mysqlclient.lib(viosocket.obj) : warning LNK4049: 已导入本地定义的符号 strtol
                          mysqlclient.lib(crypt_genhash_impl.obj) : warning LNK4049: 已导入本地定义的符号 strtol
                          mysqlclient.lib(ctype-simple.obj) : warning LNK4217: 本地定义的符号 qsort 在函数 create_fromuni 中导入
                          mysqlclient.lib(my_access.obj) : warning LNK4217: 本地定义的符号 toupper 在函数 check_if_legal_filename 中导入
                          mysqlclient.lib(my_fopen.obj) : warning LNK4217: 本地定义的符号 _fileno 在函数 my_win_freopen 中导入
                          OLDNAMES.lib(fileno.obi) : warning LNK4049: 已导入本地定义的符号 _fileno
                          mysqlclient.lib(get_password.obj) : warning LNK4217: 本地定义的符号 isspace 在函数 yassl_mysql_get_tty_password_ext 中导入
                          mysqlclient.lib(get_password.obj) : warning LNK4217: 本地定义的符号 iscntrl 在函数 yassl_mysql_get_tty_password_ext 中导入
                          mysqlclient.lib(my_default.obj) : error LNK2001: 无法解析的外部符号 __imp_getenv
                          mysqlclient.lib(handshake_client.obj) : error LNK2001: 无法解析的外部符号 __imp_getenv
                          mysqlclient.lib(libmysql.obj) : error LNK2001: 无法解析的外部符号 __imp_getenv
                          mysqlclient.lib(my_init.obj) : error LNK2001: 无法解析的外部符号 __imp_getenv
                          mysqlclient.lib(client.obj) : error LNK2001: 无法解析的外部符号 __imp_getenv
                          mysqlclient.lib(client_plugin.obj) : error LNK2001: 无法解析的外部符号 __imp_getenv
                          mysqlclient.lib(my_malloc.obj) : error LNK2019: 无法解析的外部符号 __imp_realloc,该符号在函数 my_raw_realloc 中被引用
                          mysqlclient.lib(str_alloc.obj) : error LNK2001: 无法解析的外部符号 __imp_realloc
                          mysqlclient.lib(my_error.obj) : error LNK2019: 无法解析的外部符号 __imp_strcat_s,该符号在函数 my_strerror 中被引用
                          mysqlclient.lib(my_error.obj) : error LNK2019: 无法解析的外部符号 __imp_strerror_s,该符号在函数 my_strerror 中被引用
                          mysqlclient.lib(my_init.obj) : error LNK2019: 无法解析的外部符号 __imp_strdup,该符号在函数 win_init_registry 中被引用
                          mysqlclient.lib(yassl_int.obj) : error LNK2001: 无法解析的外部符号 __imp_strdup
                          OLDNAMES.lib(strdup.obi) : error LNK2001: 无法解析的外部符号 __imp_strdup
                          mysqlclient.lib(my_init.obj) : error LNK2019: 无法解析的外部符号 __imp_RegCloseKey,该符号在函数 win32_have_tcpip 中被引用
                          mysqlclient.lib(my_init.obj) : error LNK2019: 无法解析的外部符号 __imp_RegEnumValueA,该符号在函数 win_init_registry 中被引用
                          mysqlclient.lib(my_init.obj) : error LNK2019: 无法解析的外部符号 __imp_RegOpenKeyExA,该符号在函数 win32_have_tcpip 中被引用
                          mysqlclient.lib(my_init.obj) : error LNK2019: 无法解析的外部符号 __imp_putenv,该符号在函数 win_init_registry 中被引用
                          OLDNAMES.lib(putenv.obi) : error LNK2001: 无法解析的外部符号 __imp_putenv
                          mysqlclient.lib(my_init.obj) : error LNK2019: 无法解析的外部符号 __imp__tzset,该符号在函数 my_init 中被引用
                          mysqlclient.lib(my_time.obj) : error LNK2019: 无法解析的外部符号 __imp__localtime64_s,该符号在函数 my_init_time 中被引用
                          mysqlclient.lib(my_time.obj) : error LNK2019: 无法解析的外部符号 __imp__time64,该符号在函数 my_init_time 中被引用
                          mysqlclient.lib(asn.obj) : error LNK2001: 无法解析的外部符号 __imp__time64
                          mysqlclient.lib(dtoa.obj) : error LNK2019: 无法解析的外部符号 __imp___fpe_flt_rounds,该符号在函数 my_strtod_int 中被引用
                          mysqlclient.lib(int2str.obj) : error LNK2019: 无法解析的外部符号 __imp_ldiv,该符号在函数 int2str 中被引用
                          mysqlclient.lib(my_winfile.obj) : error LNK2019: 无法解析的外部符号 __imp__umask,该符号在函数 my_win_sopen 中被引用
                          mysqlclient.lib(my_winfile.obj) : error LNK2019: 无法解析的外部符号 __imp_fopen,该符号在函数 my_win_fopen 中被引用
                          mysqlclient.lib(ssl.obj) : error LNK2001: 无法解析的外部符号 __imp_fopen
                          mysqlclient.lib(file.obj) : error LNK2001: 无法解析的外部符号 __imp_fopen
                          mysqlclient.lib(my_winfile.obj) : error LNK2019: 无法解析的外部符号 __imp_fdopen,该符号在函数 my_win_fdopen 中被引用
                          OLDNAMES.lib(fdopen.obi) : error LNK2001: 无法解析的外部符号 __imp_fdopen
                          mysqlclient.lib(my_winfile.obj) : error LNK2019: 无法解析的外部符号 __imp_fileno,该符号在函数 my_win_fileno 中被引用
                          OLDNAMES.lib(fileno.obi) : error LNK2001: 无法解析的外部符号 __imp_fileno
                          mysqlclient.lib(my_winfile.obj) : error LNK2019: 无法解析的外部符号 __imp__fstat64,该符号在函数 my_win_fstat 中被引用
                          mysqlclient.lib(my_winfile.obj) : error LNK2019: 无法解析的外部符号 __imp__stat64,该符号在函数 my_win_stat 中被引用
                          mysqlclient.lib(my_mess.obj) : error LNK2019: 无法解析的外部符号 __imp_fputs,该符号在函数 my_message_stderr 中被引用
                          mysqlclient.lib(my_default.obj) : error LNK2001: 无法解析的外部符号 __imp_fputs
                          mysqlclient.lib(my_getwd.obj) : error LNK2019: 无法解析的外部符号 __imp_getcwd,该符号在函数 my_getwd 中被引用
                          OLDNAMES.lib(getcwd.obi) : error LNK2001: 无法解析的外部符号 __imp_getcwd
                          mysqlclient.lib(my_getwd.obj) : error LNK2019: 无法解析的外部符号 __imp_chdir,该符号在函数 my_setwd 中被引用
                          OLDNAMES.lib(chdir.obi) : error LNK2001: 无法解析的外部符号 __imp_chdir
                          mysqlclient.lib(my_thread.obj) : error LNK2019: 无法解析的外部符号 __imp__beginthreadex,该符号在函数 my_thread_create 中被引用
                          mysqlclient.lib(my_thread.obj) : error LNK2019: 无法解析的外部符号 __imp__endthreadex,该符号在函数 my_thread_exit 中被引用
                          mysqlclient.lib(my_lib.obj) : error LNK2019: 无法解析的外部符号 __imp__findclose,该符号在函数 my_dir 中被引用
                          mysqlclient.lib(my_lib.obj) : error LNK2019: 无法解析的外部符号 __imp__findfirst64i32,该符号在函数 my_dir 中被引用
                          mysqlclient.lib(my_lib.obj) : error LNK2019: 无法解析的外部符号 __imp__findnext64i32,该符号在函数 my_dir 中被引用
                          mysqlclient.lib(my_default.obj) : error LNK2019: 无法解析的外部符号 __imp_stricmp,该符号在函数 "char const * * __cdecl init_default_directories(struct st_mem_root *)" (?init_default_directories@@YAPEAPEBDPEAUst_mem_root@@@Z) 中被引用
                          OLDNAMES.lib(stricmp.obi) : error LNK2001: 无法解析的外部符号 __imp_stricmp
                          mysqlclient.lib(my_default.obj) : error LNK2019: 无法解析的外部符号 __imp_fgets,该符号在函数 "char __cdecl mysql_file_getline(char *,int,struct st_mysql_file *,char)" (?mysql_file_getline@@YADPEADHPEAUst_mysql_file@@D@Z) 中被引用
                          mysqlclient.lib(crypto_wrapper.obj) : error LNK2001: 无法解析的外部符号 __imp_fgets
                          mysqlclient.lib(my_default.obj) : error LNK2019: 无法解析的外部符号 __imp_puts,该符号在函数 my_load_defaults 中被引用
                          mysqlclient.lib(ssl.obj) : error LNK2019: 无法解析的外部符号 __imp_feof,该符号在函数 "int __cdecl yaSSL::read_file(class yaSSL::SSL_CTX *,char const *,int,enum yaSSL::CertType)" (?read_file@yaSSL@@YAHPEAVSSL_CTX@1@PEBDHW4CertType@1@@Z) 中被引用
                          mysqlclient.lib(ssl.obj) : error LNK2019: 无法解析的外部符号 __imp_fread,该符号在函数 "int __cdecl yaSSL::read_file(class yaSSL::SSL_CTX *,char const *,int,enum yaSSL::CertType)" (?read_file@yaSSL@@YAHPEAVSSL_CTX@1@PEBDHW4CertType@1@@Z) 中被引用
                          mysqlclient.lib(my_fstream.obj) : error LNK2001: 无法解析的外部符号 __imp_fread
                          mysqlclient.lib(crypto_wrapper.obj) : error LNK2001: 无法解析的外部符号 __imp_fread
                          mysqlclient.lib(file.obj) : error LNK2001: 无法解析的外部符号 __imp_fread
                          mysqlclient.lib(ssl.obj) : error LNK2019: 无法解析的外部符号 __imp_fseek,该符号在函数 "int __cdecl yaSSL::read_file(class yaSSL::SSL_CTX *,char const *,int,enum yaSSL::CertType)" (?read_file@yaSSL@@YAHPEAVSSL_CTX@1@PEBDHW4CertType@1@@Z) 中被引用
                          mysqlclient.lib(my_fstream.obj) : error LNK2001: 无法解析的外部符号 __imp_fseek
                          mysqlclient.lib(crypto_wrapper.obj) : error LNK2001: 无法解析的外部符号 __imp_fseek
                          mysqlclient.lib(file.obj) : error LNK2001: 无法解析的外部符号 __imp_fseek
                          mysqlclient.lib(ssl.obj) : error LNK2019: 无法解析的外部符号 __imp_ftell,该符号在函数 "int __cdecl yaSSL::read_file(class yaSSL::SSL_CTX *,char const *,int,enum yaSSL::CertType)" (?read_file@yaSSL@@YAHPEAVSSL_CTX@1@PEBDHW4CertType@1@@Z) 中被引用
                          mysqlclient.lib(my_fstream.obj) : error LNK2001: 无法解析的外部符号 __imp_ftell
                          mysqlclient.lib(crypto_wrapper.obj) : error LNK2001: 无法解析的外部符号 __imp_ftell
                          mysqlclient.lib(file.obj) : error LNK2001: 无法解析的外部符号 __imp_ftell
                          mysqlclient.lib(ssl.obj) : error LNK2019: 无法解析的外部符号 __imp_rewind,该符号在函数 "int __cdecl yaSSL::read_file(class yaSSL::SSL_CTX *,char const *,int,enum yaSSL::CertType)" (?read_file@yaSSL@@YAHPEAVSSL_CTX@1@PEBDHW4CertType@1@@Z) 中被引用
                          mysqlclient.lib(ssl.obj) : error LNK2019: 无法解析的外部符号 __imp_strncat,该符号在函数 yaSSL_CTX_load_verify_locations 中被引用
                          mysqlclient.lib(mf_loadpath.obj) : error LNK2001: 无法解析的外部符号 __imp_strncat
                          mysqlclient.lib(crypt_genhash_impl.obj) : error LNK2001: 无法解析的外部符号 __imp_strncat
                          mysqlclient.lib(yassl_error.obj) : error LNK2001: 无法解析的外部符号 __imp_strncpy
                          mysqlclient.lib(crypto_wrapper.obj) : error LNK2001: 无法解析的外部符号 __imp_strncpy
                          mysqlclient.lib(ssl.obj) : error LNK2001: 无法解析的外部符号 __imp_strncpy
                          mysqlclient.lib(viosslfactories.obj) : error LNK2001: 无法解析的外部符号 __imp_strncpy
                          mysqlclient.lib(yassl_int.obj) : error LNK2001: 无法解析的外部符号 __imp_strncpy
                          mysqlclient.lib(yassl_imp.obj) : error LNK2001: 无法解析的外部符号 __imp_strncpy
                          mysqlclient.lib(viosslfactories.obj) : error LNK2019: 无法解析的外部符号 __imp_strtok_s,该符号在函数 process_tls_version 中被引用
                          mysqlclient.lib(yassl_int.obj) : error LNK2019: 无法解析的外部符号 __imp_strstr,该符号在函数 "public: bool __cdecl yaSSL::SSL_CTX::SetCipherList(char const *)" (?SetCipherList@SSL_CTX@yaSSL@@QEAA_NPEBD@Z) 中被引用
                          mysqlclient.lib(crypt_genhash_impl.obj) : error LNK2001: 无法解析的外部符号 __imp_strstr
                          mysqlclient.lib(crypto_wrapper.obj) : error LNK2001: 无法解析的外部符号 __imp_strstr
                          mysqlclient.lib(my_fstream.obj) : error LNK2019: 无法解析的外部符号 __imp_ferror,该符号在函数 my_fread 中被引用
                          mysqlclient.lib(my_fstream.obj) : error LNK2019: 无法解析的外部符号 __imp_fwrite,该符号在函数 my_fwrite 中被引用
                          mysqlclient.lib(file.obj) : error LNK2001: 无法解析的外部符号 __imp_fwrite
                          mysqlclient.lib(crypt_genhash_impl.obj) : error LNK2019: 无法解析的外部符号 __imp_strcspn,该符号在函数 my_crypt_genhash 中被引用
                          mysqlclient.lib(my_fopen.obj) : error LNK2019: 无法解析的外部符号 __imp__dup2,该符号在函数 my_win_freopen 中被引用
                          mysqlclient.lib(my_fopen.obj) : error LNK2019: 无法解析的外部符号 __imp_freopen,该符号在函数 my_win_freopen 中被引用
                          mysqlclient.lib(asn.obj) : error LNK2019: 无法解析的外部符号 __imp__gmtime64,该符号在函数 "bool __cdecl TaoCrypt::`anonymous namespace'::ValidateDate(unsigned char const *,unsigned char,enum TaoCrypt::CertDecoder::DateType)" (?ValidateDate@?A0x4ae3e225@TaoCrypt@@YA_NPEBEEW4DateType@CertDecoder@2@@Z) 中被引用
                          mysqlclient.lib(get_password.obj) : error LNK2019: 无法解析的外部符号 __imp__cputs,该符号在函数 yassl_mysql_get_tty_password_ext 中被引用
                          mysqlclient.lib(get_password.obj) : error LNK2019: 无法解析的外部符号 __imp__getch,该符号在函数 yassl_mysql_get_tty_password_ext 中被引用
                          mysqlclient.lib(common.obj) : error LNK2019: 无法解析的外部符号 __imp_EqualSid,该符号在函数 "public: bool __cdecl Sid::operator==(class Sid const &)" (??8Sid@@QEAA_NAEBV0@@Z) 中被引用
                          mysqlclient.lib(common.obj) : error LNK2019: 无法解析的外部符号 __imp_GetTokenInformation,该符号在函数 "public: __cdecl Sid::Sid(void *)" (??0Sid@@QEAA@PEAX@Z) 中被引用
                          mysqlclient.lib(common.obj) : error LNK2019: 无法解析的外部符号 __imp_IsValidSid,该符号在函数 "public: __cdecl Sid::Sid(void *)" (??0Sid@@QEAA@PEAX@Z) 中被引用
                          mysqlclient.lib(common.obj) : error LNK2019: 无法解析的外部符号 __imp_LookupAccountNameW,该符号在函数 "public: __cdecl Sid::Sid(wchar_t const *)" (??0Sid@@QEAA@PEB_W@Z) 中被引用
                          mysqlclient.lib(random.obj) : error LNK2019: 无法解析的外部符号 __imp_CryptAcquireContextA,该符号在函数 "public: __cdecl TaoCrypt::OS_Seed::OS_Seed(void)" (??0OS_Seed@TaoCrypt@@QEAA@XZ) 中被引用
                          mysqlclient.lib(random.obj) : error LNK2019: 无法解析的外部符号 __imp_CryptReleaseContext,该符号在函数 "public: __cdecl TaoCrypt::OS_Seed::~OS_Seed(void)" (??1OS_Seed@TaoCrypt@@QEAA@XZ) 中被引用
                          mysqlclient.lib(random.obj) : error LNK2019: 无法解析的外部符号 __imp_CryptGenRandom,该符号在函数 "public: __cdecl TaoCrypt::RandomNumberGenerator::RandomNumberGenerator(void)" (??0RandomNumberGenerator@TaoCrypt@@QEAA@XZ) 中被引用
                          OLDNAMES.lib(strdup.obi) : error LNK2001: 无法解析的外部符号 __imp__strdup
                          OLDNAMES.lib(putenv.obi) : error LNK2001: 无法解析的外部符号 __imp__putenv
                          OLDNAMES.lib(fdopen.obi) : error LNK2001: 无法解析的外部符号 __imp__fdopen
                          OLDNAMES.lib(getcwd.obi) : error LNK2001: 无法解析的外部符号 __imp__getcwd
                          OLDNAMES.lib(chdir.obi) : error LNK2001: 无法解析的外部符号 __imp__chdir
                          OLDNAMES.lib(stricmp.obi) : error LNK2001: 无法解析的外部符号 __imp__stricmp
                          mysql.exe : fatal error LNK1120: 61 个无法解析的外部命令

                          C 1 Reply Last reply 29 Dec 2018, 22:29
                          0
                          • C cawlfj
                            29 Dec 2018, 13:35

                            @Cobra91151
                            I used below configure

                            configure -confirm-license -opensource -release -static -static-runtime -mp -platform win32-msvc -prefix "D:\QT\512M" -sql-mysql MYSQL_PREFIX="C:/mysql" MYSQL_LIBS="-lmysqlclient" -gui -no-dbus -widgets -qt-zlib -qt-libjpeg -gif -ico -qt-libpng -qt-xkbcommon -qt-freetype -qt-pcre -qt-harfbuzz -opengl desktop -nomake tests -nomake examples -no-compile-examples -skip qttranslations -skip qtserialport -skip qtwebengine -recheck-all

                            and got
                            ERROR: Feature 'sql-mysql' was enabled, but the pre-condition 'libs.mysql' failed.

                            in config.log found below information about mysql:

                            cd /d C:\Qt\Qt5.12.0\5.12.0\Src\config.tests\mysql && C:\Qt\Qt5.12.0\5.12.0\Src\qtbase\bin\qmake.exe "CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += static warn_off console single_arch" "QMAKE_USE += mysql" "QMAKE_LIBS_MYSQL = -LC:/mysql/lib -lmysqlclient" "QMAKE_INCDIR_MYSQL = C:/mysql/include" C:/Qt/Qt5.12.0/5.12.0/Src/config.tests/mysql

                            • cd /d C:\Qt\Qt5.12.0\5.12.0\Src\config.tests\mysql && set MAKEFLAGS=& nmake clean && set MAKEFLAGS=& nmake

                              cl -c -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -O2 -MT -W0 -EHsc -DUNICODE -D_UNICODE -DWIN32 -D_ENABLE_EXTENDED_ALIGNED_STORAGE -DWIN64 -DNDEBUG -I. -IC:\mysql\include -IC:\Qt\Qt5.12.0\5.12.0\Src\qtbase\mkspecs\win32-msvc -Fo @C:\Users\jeff\AppData\Local\Temp\nmAAE6.tmp

                            main.cpp
                            link /NOLOGO /DYNAMICBASE /NXCOMPAT /INCREMENTAL:NO /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\jeff\AppData\Local\Temp\nmACDB.tmp
                            LINK : warning LNK4098: 默认库“MSVCRT”与其他库的使用冲突;请使用 /NODEFAULTLIB:library
                            mysqlclient.lib(bchange.obj) : warning LNK4049: 已导入本地定义的符号 memmove
                            mysqlclient.lib(ctype-tis620.obj) : warning LNK4049: 已导入本地定义的符号 memmove
                            mysqlclient.lib(net_serv.obj) : warning LNK4049: 已导入本地定义的符号 memmove
                            mysqlclient.lib(client.obj) : warning LNK4049: 已导入本地定义的符号 memmove
                            mysqlclient.lib(mf_pack.obj) : warning LNK4049: 已导入本地定义的符号 memmove
                            mysqlclient.lib(mf_dirname.obj) : warning LNK4049: 已导入本地定义的符号 memmove
                            mysqlclient.lib(libmysql.obj) : warning LNK4217: 本地定义的符号 memmove 在函数 fetch_float_with_conversion 中导入
                            mysqlclient.lib(mf_format.obj) : warning LNK4049: 已导入本地定义的符号 memmove
                            mysqlclient.lib(my_time.obj) : warning LNK4049: 已导入本地定义的符号 memmove
                            mysqlclient.lib(my_vsnprintf.obj) : warning LNK4049: 已导入本地定义的符号 memmove
                            mysqlclient.lib(ssl.obj) : warning LNK4049: 已导入本地定义的符号 __stdio_common_vsprintf
                            mysqlclient.lib(xml.obj) : warning LNK4049: 已导入本地定义的符号 __stdio_common_vsprintf
                            mysqlclient.lib(libmysql.obj) : warning LNK4217: 本地定义的符号 __stdio_common_vsprintf 在函数 sprintf 中导入
                            mysqlclient.lib(my_time.obj) : warning LNK4049: 已导入本地定义的符号 __stdio_common_vsprintf
                            mysqlclient.lib(client.obj) : warning LNK4049: 已导入本地定义的符号 __stdio_common_vsprintf
                            mysqlclient.lib(ctype.obj) : warning LNK4217: 本地定义的符号 __stdio_common_vsprintf 在函数 cs_leave 中导入
                            mysqlclient.lib(libmysql.obj) : warning LNK4217: 本地定义的符号 atoi 在函数 mysql_server_init 中导入
                            mysqlclient.lib(client.obj) : warning LNK4049: 已导入本地定义的符号 atoi
                            mysqlclient.lib(typelib.obj) : warning LNK4049: 已导入本地定义的符号 atoi
                            mysqlclient.lib(handshake_client.obj) : warning LNK4049: 已导入本地定义的符号 atoi
                            mysqlclient.lib(my_thr_init.obj) : warning LNK4217: 本地定义的符号 _set_abort_behavior 在函数 my_thread_init 中导入
                            mysqlclient.lib(my_thr_init.obj) : warning LNK4217: 本地定义的符号 signal 在函数 my_thread_init 中导入
                            mysqlclient.lib(my_fstream.obj) : warning LNK4049: 已导入本地定义的符号 _errno
                            mysqlclient.lib(crypt_genhash_impl.obj) : warning LNK4049: 已导入本地定义的符号 _errno
                            mysqlclient.lib(my_fopen.obj) : warning LNK4217: 本地定义的符号 _errno 在函数 my_win_freopen 中导入
                            mysqlclient.lib(my_thread.obj) : warning LNK4217: 本地定义的符号 _errno 在函数 my_thread_create 中导入
                            mysqlclient.lib(my_lib.obj) : warning LNK4217: 本地定义的符号 _errno 在函数 my_dir 中导入
                            mysqlclient.lib(my_access.obj) : warning LNK4049: 已导入本地定义的符号 _errno
                            mysqlclient.lib(my_winerr.obj) : warning LNK4049: 已导入本地定义的符号 _errno
                            mysqlclient.lib(my_winfile.obj) : warning LNK4049: 已导入本地定义的符号 _errno
                            mysqlclient.lib(my_once.obj) : warning LNK4217: 本地定义的符号 _errno 在函数 my_once_alloc 中导入
                            mysqlclient.lib(str2int.obj) : warning LNK4049: 已导入本地定义的符号 _errno
                            mysqlclient.lib(my_getwd.obj) : warning LNK4217: 本地定义的符号 _errno 在函数 my_getwd 中导入
                            mysqlclient.lib(my_malloc.obj) : warning LNK4217: 本地定义的符号 _errno 在函数 my_raw_malloc 中导入
                            mysqlclient.lib(my_open.obj) : warning LNK4217: 本地定义的符号 _errno 在函数 my_close 中导入
                            mysqlclient.lib(my_read.obj) : warning LNK4049: 已导入本地定义的符号 _errno
                            mysqlclient.lib(client.obj) : warning LNK4049: 已导入本地定义的符号 _errno
                            mysqlclient.lib(my_malloc.obj) : warning LNK4217: 本地定义的符号 calloc 在函数 my_raw_malloc 中导入
                            mysqlclient.lib(zutil.obj) : warning LNK4049: 已导入本地定义的符号 free
                            mysqlclient.lib(yassl_int.obj) : warning LNK4217: 本地定义的符号 free 在函数 "public: void __cdecl yaSSL::SSL::makeTLSMasterSecret(void)" (?makeTLSMasterSecret@SSL@yaSSL@@QEAAXXZ) 中导入
                            mysqlclient.lib(handshake_client.obj) : warning LNK4049: 已导入本地定义的符号 free
                            mysqlclient.lib(str_alloc.obj) : warning LNK4049: 已导入本地定义的符号 free
                            mysqlclient.lib(common.obj) : warning LNK4049: 已导入本地定义的符号 free
                            mysqlclient.lib(my_malloc.obj) : warning LNK4217: 本地定义的符号 free 在函数 my_free 中导入
                            mysqlclient.lib(dtoa.obj) : warning LNK4049: 已导入本地定义的符号 free
                            mysqlclient.lib(my_once.obj) : warning LNK4049: 已导入本地定义的符号 free
                            mysqlclient.lib(my_thread.obj) : warning LNK4049: 已导入本地定义的符号 free
                            mysqlclient.lib(ssl.obj) : warning LNK4049: 已导入本地定义的符号 malloc
                            mysqlclient.lib(str_alloc.obj) : warning LNK4049: 已导入本地定义的符号 malloc
                            mysqlclient.lib(common.obj) : warning LNK4049: 已导入本地定义的符号 malloc
                            mysqlclient.lib(zutil.obj) : warning LNK4049: 已导入本地定义的符号 malloc
                            mysqlclient.lib(my_malloc.obj) : warning LNK4217: 本地定义的符号 malloc 在函数 my_raw_malloc 中导入
                            mysqlclient.lib(dtoa.obj) : warning LNK4049: 已导入本地定义的符号 malloc
                            mysqlclient.lib(my_once.obj) : warning LNK4049: 已导入本地定义的符号 malloc
                            mysqlclient.lib(my_thread.obj) : warning LNK4049: 已导入本地定义的符号 malloc
                            mysqlclient.lib(str_alloc.obj) : warning LNK4049: 已导入本地定义的符号 exit
                            mysqlclient.lib(my_malloc.obj) : warning LNK4217: 本地定义的符号 exit 在函数 my_raw_malloc 中导入
                            mysqlclient.lib(client.obj) : warning LNK4049: 已导入本地定义的符号 exit
                            mysqlclient.lib(typelib.obj) : warning LNK4049: 已导入本地定义的符号 exit
                            mysqlclient.lib(my_default.obj) : warning LNK4049: 已导入本地定义的符号 exit
                            mysqlclient.lib(my_default.obj) : warning LNK4049: 已导入本地定义的符号 __acrt_iob_func
                            mysqlclient.lib(log_client.obj) : warning LNK4049: 已导入本地定义的符号 __acrt_iob_func
                            mysqlclient.lib(my_init.obj) : warning LNK4217: 本地定义的符号 __acrt_iob_func 在函数 my_end 中导入
                            mysqlclient.lib(my_winfile.obj) : warning LNK4049: 已导入本地定义的符号 __acrt_iob_func
                            mysqlclient.lib(my_mess.obj) : warning LNK4049: 已导入本地定义的符号 __acrt_iob_func
                            mysqlclient.lib(typelib.obj) : warning LNK4217: 本地定义的符号 __acrt_iob_func 在函数 find_type_or_exit 中导入
                            mysqlclient.lib(my_init.obj) : warning LNK4217: 本地定义的符号 _set_invalid_parameter_handler 在函数 my_init 中导入
                            mysqlclient.lib(crypt_genhash_impl.obj) : warning LNK4049: 已导入本地定义的符号 strchr
                            mysqlclient.lib(ctype.obj) : warning LNK4217: 本地定义的符号 strchr 在函数 cs_file_sec 中导入
                            mysqlclient.lib(my_default.obj) : warning LNK4049: 已导入本地定义的符号 strchr
                            mysqlclient.lib(my_access.obj) : warning LNK4049: 已导入本地定义的符号 strchr
                            mysqlclient.lib(xml.obj) : warning LNK4049: 已导入本地定义的符号 strchr
                            mysqlclient.lib(mf_format.obj) : warning LNK4217: 本地定义的符号 strchr 在函数 fn_format 中导入
                            mysqlclient.lib(client_plugin.obj) : warning LNK4049: 已导入本地定义的符号 strchr
                            mysqlclient.lib(my_winfile.obj) : warning LNK4049: 已导入本地定义的符号 strchr
                            mysqlclient.lib(my_getwd.obj) : warning LNK4049: 已导入本地定义的符号 strchr
                            mysqlclient.lib(charset.obj) : warning LNK4217: 本地定义的符号 _strnicmp 在函数 get_collation_number 中导入
                            mysqlclient.lib(ctype-uca.obj) : warning LNK4049: 已导入本地定义的符号 _strnicmp
                            mysqlclient.lib(handshake_client.obj) : warning LNK4049: 已导入本地定义的符号 _strnicmp
                            mysqlclient.lib(my_vsnprintf.obj) : warning LNK4217: 本地定义的符号 strnlen 在函数 process_str_arg 中导入
                            mysqlclient.lib(yassl_int.obj) : warning LNK4049: 已导入本地定义的符号 strncmp
                            mysqlclient.lib(crypt_genhash_impl.obj) : warning LNK4049: 已导入本地定义的符号 strncmp
                            mysqlclient.lib(handshake.obj) : warning LNK4049: 已导入本地定义的符号 strncmp
                            mysqlclient.lib(crypto_wrapper.obj) : warning LNK4217: 本地定义的符号 strncmp 在函数 "unsigned char * __cdecl TaoCrypt::StdReallocate<unsigned char,class TaoCrypt::AllocatorWithCleanup<unsigned char> >(class TaoCrypt::AllocatorWithCleanup<unsigned char> &,unsigned char *,unsigned __int64,unsigned __int64,bool)" (??$StdReallocate@EV?$AllocatorWithCleanup@E@TaoCrypt@@@TaoCrypt@@YAPEAEAEAV?$AllocatorWithCleanup@E@0@PEAE_K2_N@Z) 中导入
                            mysqlclient.lib(client.obj) : warning LNK4217: 本地定义的符号 strncmp 在函数 read_ok_ex 中导入
                            mysqlclient.lib(ctype.obj) : warning LNK4217: 本地定义的符号 strncmp 在函数 cs_value 中导入
                            mysqlclient.lib(my_default.obj) : warning LNK4049: 已导入本地定义的符号 strncmp
                            mysqlclient.lib(ssl.obj) : warning LNK4049: 已导入本地定义的符号 strncmp
                            mysqlclient.lib(client.obj) : warning LNK4217: 本地定义的符号 strtoul 在函数 mysql_get_server_version 中导入
                            mysqlclient.lib(ctype.obj) : warning LNK4049: 已导入本地定义的符号 strtoul
                            mysqlclient.lib(my_winfile.obj) : warning LNK4217: 本地定义的符号 _close 在函数 my_win_fstat 中导入
                            mysqlclient.lib(my_fopen.obj) : warning LNK4049: 已导入本地定义的符号 _close
                            mysqlclient.lib(my_winfile.obj) : warning LNK4217: 本地定义的符号 _get_osfhandle 在函数 my_win_fileno 中导入
                            mysqlclient.lib(my_winfile.obj) : warning LNK4217: 本地定义的符号 _open_osfhandle 在函数 my_win_fdopen 中导入
                            mysqlclient.lib(my_fopen.obj) : warning LNK4049: 已导入本地定义的符号 _open_osfhandle
                            mysqlclient.lib(my_winfile.obj) : warning LNK4217: 本地定义的符号 fclose 在函数 my_win_fclose 中导入
                            mysqlclient.lib(ssl.obj) : warning LNK4049: 已导入本地定义的符号 fclose
                            mysqlclient.lib(file.obj) : warning LNK4049: 已导入本地定义的符号 fclose
                            mysqlclient.lib(my_mess.obj) : warning LNK4217: 本地定义的符号 strrchr 在函数 my_message_stderr 中导入
                            mysqlclient.lib(mf_pack.obj) : warning LNK4049: 已导入本地定义的符号 strrchr
                            mysqlclient.lib(mf_dirname.obj) : warning LNK4217: 本地定义的符号 strrchr 在函数 convert_dirname 中导入
                            mysqlclient.lib(mf_fn_ext.obj) : warning LNK4049: 已导入本地定义的符号 strrchr
                            mysqlclient.lib(my_mess.obj) : warning LNK4217: 本地定义的符号 fflush 在函数 my_message_stderr 中导入
                            mysqlclient.lib(log_client.obj) : warning LNK4049: 已导入本地定义的符号 fflush
                            mysqlclient.lib(my_mess.obj) : warning LNK4217: 本地定义的符号 fputc 在函数 my_message_stderr 中导入
                            mysqlclient.lib(my_default.obj) : warning LNK4049: 已导入本地定义的符号 fputc
                            mysqlclient.lib(log_client.obj) : warning LNK4049: 已导入本地定义的符号 fputc
                            mysqlclient.lib(my_mess.obj) : warning LNK4217: 本地定义的符号 __stdio_common_vfprintf 在函数 fprintf 中导入
                            mysqlclient.lib(typelib.obj) : warning LNK4217: 本地定义的符号 __stdio_common_vfprintf 在函数 find_set_from_flags 中导入
                            mysqlclient.lib(my_default.obj) : warning LNK4049: 已导入本地定义的符号 __stdio_common_vfprintf
                            mysqlclient.lib(log_client.obj) : warning LNK4217: 本地定义的符号 __stdio_common_vfprintf 在函数 "void __cdecl error_log_vprint(enum error_log_level::type,char const *,char *)" (?error_log_vprint@@YAXW4type@error_log_level@@PEBDPEAD@Z) 中导入
                            mysqlclient.lib(ctype.obj) : warning LNK4217: 本地定义的符号 strtol 在函数 cs_value 中导入
                            mysqlclient.lib(viosocket.obj) : warning LNK4049: 已导入本地定义的符号 strtol
                            mysqlclient.lib(crypt_genhash_impl.obj) : warning LNK4049: 已导入本地定义的符号 strtol
                            mysqlclient.lib(ctype-simple.obj) : warning LNK4217: 本地定义的符号 qsort 在函数 create_fromuni 中导入
                            mysqlclient.lib(my_access.obj) : warning LNK4217: 本地定义的符号 toupper 在函数 check_if_legal_filename 中导入
                            mysqlclient.lib(my_fopen.obj) : warning LNK4217: 本地定义的符号 _fileno 在函数 my_win_freopen 中导入
                            OLDNAMES.lib(fileno.obi) : warning LNK4049: 已导入本地定义的符号 _fileno
                            mysqlclient.lib(get_password.obj) : warning LNK4217: 本地定义的符号 isspace 在函数 yassl_mysql_get_tty_password_ext 中导入
                            mysqlclient.lib(get_password.obj) : warning LNK4217: 本地定义的符号 iscntrl 在函数 yassl_mysql_get_tty_password_ext 中导入
                            mysqlclient.lib(my_default.obj) : error LNK2001: 无法解析的外部符号 __imp_getenv
                            mysqlclient.lib(handshake_client.obj) : error LNK2001: 无法解析的外部符号 __imp_getenv
                            mysqlclient.lib(libmysql.obj) : error LNK2001: 无法解析的外部符号 __imp_getenv
                            mysqlclient.lib(my_init.obj) : error LNK2001: 无法解析的外部符号 __imp_getenv
                            mysqlclient.lib(client.obj) : error LNK2001: 无法解析的外部符号 __imp_getenv
                            mysqlclient.lib(client_plugin.obj) : error LNK2001: 无法解析的外部符号 __imp_getenv
                            mysqlclient.lib(my_malloc.obj) : error LNK2019: 无法解析的外部符号 __imp_realloc,该符号在函数 my_raw_realloc 中被引用
                            mysqlclient.lib(str_alloc.obj) : error LNK2001: 无法解析的外部符号 __imp_realloc
                            mysqlclient.lib(my_error.obj) : error LNK2019: 无法解析的外部符号 __imp_strcat_s,该符号在函数 my_strerror 中被引用
                            mysqlclient.lib(my_error.obj) : error LNK2019: 无法解析的外部符号 __imp_strerror_s,该符号在函数 my_strerror 中被引用
                            mysqlclient.lib(my_init.obj) : error LNK2019: 无法解析的外部符号 __imp_strdup,该符号在函数 win_init_registry 中被引用
                            mysqlclient.lib(yassl_int.obj) : error LNK2001: 无法解析的外部符号 __imp_strdup
                            OLDNAMES.lib(strdup.obi) : error LNK2001: 无法解析的外部符号 __imp_strdup
                            mysqlclient.lib(my_init.obj) : error LNK2019: 无法解析的外部符号 __imp_RegCloseKey,该符号在函数 win32_have_tcpip 中被引用
                            mysqlclient.lib(my_init.obj) : error LNK2019: 无法解析的外部符号 __imp_RegEnumValueA,该符号在函数 win_init_registry 中被引用
                            mysqlclient.lib(my_init.obj) : error LNK2019: 无法解析的外部符号 __imp_RegOpenKeyExA,该符号在函数 win32_have_tcpip 中被引用
                            mysqlclient.lib(my_init.obj) : error LNK2019: 无法解析的外部符号 __imp_putenv,该符号在函数 win_init_registry 中被引用
                            OLDNAMES.lib(putenv.obi) : error LNK2001: 无法解析的外部符号 __imp_putenv
                            mysqlclient.lib(my_init.obj) : error LNK2019: 无法解析的外部符号 __imp__tzset,该符号在函数 my_init 中被引用
                            mysqlclient.lib(my_time.obj) : error LNK2019: 无法解析的外部符号 __imp__localtime64_s,该符号在函数 my_init_time 中被引用
                            mysqlclient.lib(my_time.obj) : error LNK2019: 无法解析的外部符号 __imp__time64,该符号在函数 my_init_time 中被引用
                            mysqlclient.lib(asn.obj) : error LNK2001: 无法解析的外部符号 __imp__time64
                            mysqlclient.lib(dtoa.obj) : error LNK2019: 无法解析的外部符号 __imp___fpe_flt_rounds,该符号在函数 my_strtod_int 中被引用
                            mysqlclient.lib(int2str.obj) : error LNK2019: 无法解析的外部符号 __imp_ldiv,该符号在函数 int2str 中被引用
                            mysqlclient.lib(my_winfile.obj) : error LNK2019: 无法解析的外部符号 __imp__umask,该符号在函数 my_win_sopen 中被引用
                            mysqlclient.lib(my_winfile.obj) : error LNK2019: 无法解析的外部符号 __imp_fopen,该符号在函数 my_win_fopen 中被引用
                            mysqlclient.lib(ssl.obj) : error LNK2001: 无法解析的外部符号 __imp_fopen
                            mysqlclient.lib(file.obj) : error LNK2001: 无法解析的外部符号 __imp_fopen
                            mysqlclient.lib(my_winfile.obj) : error LNK2019: 无法解析的外部符号 __imp_fdopen,该符号在函数 my_win_fdopen 中被引用
                            OLDNAMES.lib(fdopen.obi) : error LNK2001: 无法解析的外部符号 __imp_fdopen
                            mysqlclient.lib(my_winfile.obj) : error LNK2019: 无法解析的外部符号 __imp_fileno,该符号在函数 my_win_fileno 中被引用
                            OLDNAMES.lib(fileno.obi) : error LNK2001: 无法解析的外部符号 __imp_fileno
                            mysqlclient.lib(my_winfile.obj) : error LNK2019: 无法解析的外部符号 __imp__fstat64,该符号在函数 my_win_fstat 中被引用
                            mysqlclient.lib(my_winfile.obj) : error LNK2019: 无法解析的外部符号 __imp__stat64,该符号在函数 my_win_stat 中被引用
                            mysqlclient.lib(my_mess.obj) : error LNK2019: 无法解析的外部符号 __imp_fputs,该符号在函数 my_message_stderr 中被引用
                            mysqlclient.lib(my_default.obj) : error LNK2001: 无法解析的外部符号 __imp_fputs
                            mysqlclient.lib(my_getwd.obj) : error LNK2019: 无法解析的外部符号 __imp_getcwd,该符号在函数 my_getwd 中被引用
                            OLDNAMES.lib(getcwd.obi) : error LNK2001: 无法解析的外部符号 __imp_getcwd
                            mysqlclient.lib(my_getwd.obj) : error LNK2019: 无法解析的外部符号 __imp_chdir,该符号在函数 my_setwd 中被引用
                            OLDNAMES.lib(chdir.obi) : error LNK2001: 无法解析的外部符号 __imp_chdir
                            mysqlclient.lib(my_thread.obj) : error LNK2019: 无法解析的外部符号 __imp__beginthreadex,该符号在函数 my_thread_create 中被引用
                            mysqlclient.lib(my_thread.obj) : error LNK2019: 无法解析的外部符号 __imp__endthreadex,该符号在函数 my_thread_exit 中被引用
                            mysqlclient.lib(my_lib.obj) : error LNK2019: 无法解析的外部符号 __imp__findclose,该符号在函数 my_dir 中被引用
                            mysqlclient.lib(my_lib.obj) : error LNK2019: 无法解析的外部符号 __imp__findfirst64i32,该符号在函数 my_dir 中被引用
                            mysqlclient.lib(my_lib.obj) : error LNK2019: 无法解析的外部符号 __imp__findnext64i32,该符号在函数 my_dir 中被引用
                            mysqlclient.lib(my_default.obj) : error LNK2019: 无法解析的外部符号 __imp_stricmp,该符号在函数 "char const * * __cdecl init_default_directories(struct st_mem_root *)" (?init_default_directories@@YAPEAPEBDPEAUst_mem_root@@@Z) 中被引用
                            OLDNAMES.lib(stricmp.obi) : error LNK2001: 无法解析的外部符号 __imp_stricmp
                            mysqlclient.lib(my_default.obj) : error LNK2019: 无法解析的外部符号 __imp_fgets,该符号在函数 "char __cdecl mysql_file_getline(char *,int,struct st_mysql_file *,char)" (?mysql_file_getline@@YADPEADHPEAUst_mysql_file@@D@Z) 中被引用
                            mysqlclient.lib(crypto_wrapper.obj) : error LNK2001: 无法解析的外部符号 __imp_fgets
                            mysqlclient.lib(my_default.obj) : error LNK2019: 无法解析的外部符号 __imp_puts,该符号在函数 my_load_defaults 中被引用
                            mysqlclient.lib(ssl.obj) : error LNK2019: 无法解析的外部符号 __imp_feof,该符号在函数 "int __cdecl yaSSL::read_file(class yaSSL::SSL_CTX *,char const *,int,enum yaSSL::CertType)" (?read_file@yaSSL@@YAHPEAVSSL_CTX@1@PEBDHW4CertType@1@@Z) 中被引用
                            mysqlclient.lib(ssl.obj) : error LNK2019: 无法解析的外部符号 __imp_fread,该符号在函数 "int __cdecl yaSSL::read_file(class yaSSL::SSL_CTX *,char const *,int,enum yaSSL::CertType)" (?read_file@yaSSL@@YAHPEAVSSL_CTX@1@PEBDHW4CertType@1@@Z) 中被引用
                            mysqlclient.lib(my_fstream.obj) : error LNK2001: 无法解析的外部符号 __imp_fread
                            mysqlclient.lib(crypto_wrapper.obj) : error LNK2001: 无法解析的外部符号 __imp_fread
                            mysqlclient.lib(file.obj) : error LNK2001: 无法解析的外部符号 __imp_fread
                            mysqlclient.lib(ssl.obj) : error LNK2019: 无法解析的外部符号 __imp_fseek,该符号在函数 "int __cdecl yaSSL::read_file(class yaSSL::SSL_CTX *,char const *,int,enum yaSSL::CertType)" (?read_file@yaSSL@@YAHPEAVSSL_CTX@1@PEBDHW4CertType@1@@Z) 中被引用
                            mysqlclient.lib(my_fstream.obj) : error LNK2001: 无法解析的外部符号 __imp_fseek
                            mysqlclient.lib(crypto_wrapper.obj) : error LNK2001: 无法解析的外部符号 __imp_fseek
                            mysqlclient.lib(file.obj) : error LNK2001: 无法解析的外部符号 __imp_fseek
                            mysqlclient.lib(ssl.obj) : error LNK2019: 无法解析的外部符号 __imp_ftell,该符号在函数 "int __cdecl yaSSL::read_file(class yaSSL::SSL_CTX *,char const *,int,enum yaSSL::CertType)" (?read_file@yaSSL@@YAHPEAVSSL_CTX@1@PEBDHW4CertType@1@@Z) 中被引用
                            mysqlclient.lib(my_fstream.obj) : error LNK2001: 无法解析的外部符号 __imp_ftell
                            mysqlclient.lib(crypto_wrapper.obj) : error LNK2001: 无法解析的外部符号 __imp_ftell
                            mysqlclient.lib(file.obj) : error LNK2001: 无法解析的外部符号 __imp_ftell
                            mysqlclient.lib(ssl.obj) : error LNK2019: 无法解析的外部符号 __imp_rewind,该符号在函数 "int __cdecl yaSSL::read_file(class yaSSL::SSL_CTX *,char const *,int,enum yaSSL::CertType)" (?read_file@yaSSL@@YAHPEAVSSL_CTX@1@PEBDHW4CertType@1@@Z) 中被引用
                            mysqlclient.lib(ssl.obj) : error LNK2019: 无法解析的外部符号 __imp_strncat,该符号在函数 yaSSL_CTX_load_verify_locations 中被引用
                            mysqlclient.lib(mf_loadpath.obj) : error LNK2001: 无法解析的外部符号 __imp_strncat
                            mysqlclient.lib(crypt_genhash_impl.obj) : error LNK2001: 无法解析的外部符号 __imp_strncat
                            mysqlclient.lib(yassl_error.obj) : error LNK2001: 无法解析的外部符号 __imp_strncpy
                            mysqlclient.lib(crypto_wrapper.obj) : error LNK2001: 无法解析的外部符号 __imp_strncpy
                            mysqlclient.lib(ssl.obj) : error LNK2001: 无法解析的外部符号 __imp_strncpy
                            mysqlclient.lib(viosslfactories.obj) : error LNK2001: 无法解析的外部符号 __imp_strncpy
                            mysqlclient.lib(yassl_int.obj) : error LNK2001: 无法解析的外部符号 __imp_strncpy
                            mysqlclient.lib(yassl_imp.obj) : error LNK2001: 无法解析的外部符号 __imp_strncpy
                            mysqlclient.lib(viosslfactories.obj) : error LNK2019: 无法解析的外部符号 __imp_strtok_s,该符号在函数 process_tls_version 中被引用
                            mysqlclient.lib(yassl_int.obj) : error LNK2019: 无法解析的外部符号 __imp_strstr,该符号在函数 "public: bool __cdecl yaSSL::SSL_CTX::SetCipherList(char const *)" (?SetCipherList@SSL_CTX@yaSSL@@QEAA_NPEBD@Z) 中被引用
                            mysqlclient.lib(crypt_genhash_impl.obj) : error LNK2001: 无法解析的外部符号 __imp_strstr
                            mysqlclient.lib(crypto_wrapper.obj) : error LNK2001: 无法解析的外部符号 __imp_strstr
                            mysqlclient.lib(my_fstream.obj) : error LNK2019: 无法解析的外部符号 __imp_ferror,该符号在函数 my_fread 中被引用
                            mysqlclient.lib(my_fstream.obj) : error LNK2019: 无法解析的外部符号 __imp_fwrite,该符号在函数 my_fwrite 中被引用
                            mysqlclient.lib(file.obj) : error LNK2001: 无法解析的外部符号 __imp_fwrite
                            mysqlclient.lib(crypt_genhash_impl.obj) : error LNK2019: 无法解析的外部符号 __imp_strcspn,该符号在函数 my_crypt_genhash 中被引用
                            mysqlclient.lib(my_fopen.obj) : error LNK2019: 无法解析的外部符号 __imp__dup2,该符号在函数 my_win_freopen 中被引用
                            mysqlclient.lib(my_fopen.obj) : error LNK2019: 无法解析的外部符号 __imp_freopen,该符号在函数 my_win_freopen 中被引用
                            mysqlclient.lib(asn.obj) : error LNK2019: 无法解析的外部符号 __imp__gmtime64,该符号在函数 "bool __cdecl TaoCrypt::`anonymous namespace'::ValidateDate(unsigned char const *,unsigned char,enum TaoCrypt::CertDecoder::DateType)" (?ValidateDate@?A0x4ae3e225@TaoCrypt@@YA_NPEBEEW4DateType@CertDecoder@2@@Z) 中被引用
                            mysqlclient.lib(get_password.obj) : error LNK2019: 无法解析的外部符号 __imp__cputs,该符号在函数 yassl_mysql_get_tty_password_ext 中被引用
                            mysqlclient.lib(get_password.obj) : error LNK2019: 无法解析的外部符号 __imp__getch,该符号在函数 yassl_mysql_get_tty_password_ext 中被引用
                            mysqlclient.lib(common.obj) : error LNK2019: 无法解析的外部符号 __imp_EqualSid,该符号在函数 "public: bool __cdecl Sid::operator==(class Sid const &)" (??8Sid@@QEAA_NAEBV0@@Z) 中被引用
                            mysqlclient.lib(common.obj) : error LNK2019: 无法解析的外部符号 __imp_GetTokenInformation,该符号在函数 "public: __cdecl Sid::Sid(void *)" (??0Sid@@QEAA@PEAX@Z) 中被引用
                            mysqlclient.lib(common.obj) : error LNK2019: 无法解析的外部符号 __imp_IsValidSid,该符号在函数 "public: __cdecl Sid::Sid(void *)" (??0Sid@@QEAA@PEAX@Z) 中被引用
                            mysqlclient.lib(common.obj) : error LNK2019: 无法解析的外部符号 __imp_LookupAccountNameW,该符号在函数 "public: __cdecl Sid::Sid(wchar_t const *)" (??0Sid@@QEAA@PEB_W@Z) 中被引用
                            mysqlclient.lib(random.obj) : error LNK2019: 无法解析的外部符号 __imp_CryptAcquireContextA,该符号在函数 "public: __cdecl TaoCrypt::OS_Seed::OS_Seed(void)" (??0OS_Seed@TaoCrypt@@QEAA@XZ) 中被引用
                            mysqlclient.lib(random.obj) : error LNK2019: 无法解析的外部符号 __imp_CryptReleaseContext,该符号在函数 "public: __cdecl TaoCrypt::OS_Seed::~OS_Seed(void)" (??1OS_Seed@TaoCrypt@@QEAA@XZ) 中被引用
                            mysqlclient.lib(random.obj) : error LNK2019: 无法解析的外部符号 __imp_CryptGenRandom,该符号在函数 "public: __cdecl TaoCrypt::RandomNumberGenerator::RandomNumberGenerator(void)" (??0RandomNumberGenerator@TaoCrypt@@QEAA@XZ) 中被引用
                            OLDNAMES.lib(strdup.obi) : error LNK2001: 无法解析的外部符号 __imp__strdup
                            OLDNAMES.lib(putenv.obi) : error LNK2001: 无法解析的外部符号 __imp__putenv
                            OLDNAMES.lib(fdopen.obi) : error LNK2001: 无法解析的外部符号 __imp__fdopen
                            OLDNAMES.lib(getcwd.obi) : error LNK2001: 无法解析的外部符号 __imp__getcwd
                            OLDNAMES.lib(chdir.obi) : error LNK2001: 无法解析的外部符号 __imp__chdir
                            OLDNAMES.lib(stricmp.obi) : error LNK2001: 无法解析的外部符号 __imp__stricmp
                            mysql.exe : fatal error LNK1120: 61 个无法解析的外部命令

                            C Offline
                            C Offline
                            Cobra91151
                            wrote on 29 Dec 2018, 22:29 last edited by Cobra91151
                            #36

                            @cawlfj

                            Hi! Try to include to configure: MYSQL_LIBS="-lmysqlclientMT -lAdvapi32 -lUser32 -lCrypt32 -lGdi32" and also create a simple MySQL test project in VS 2017, for example console app to verify that it works:

                            #include <iostream>
                            #include <mysql.h>
                            #include <openssl/bio.h>
                            #include <openssl/ssl.h>
                            #include <openssl/err.h>
                            using namespace std;
                            
                            int main()
                            {
                            	cout << "Hello World!" << endl;
                            	cout << "Hello!" << endl;
                            	SSL_load_error_strings();
                            	ERR_load_BIO_strings();
                            	OpenSSL_add_all_algorithms();
                            	printf("MySQL client version: %s\n", mysql_get_client_info());
                            	system("PAUSE");
                            	return 0;
                            }
                            

                            If you still need help, reply here or in chat and I will try to help.

                            C 2 Replies Last reply 30 Dec 2018, 02:35
                            0
                            • C Cobra91151
                              29 Dec 2018, 22:29

                              @cawlfj

                              Hi! Try to include to configure: MYSQL_LIBS="-lmysqlclientMT -lAdvapi32 -lUser32 -lCrypt32 -lGdi32" and also create a simple MySQL test project in VS 2017, for example console app to verify that it works:

                              #include <iostream>
                              #include <mysql.h>
                              #include <openssl/bio.h>
                              #include <openssl/ssl.h>
                              #include <openssl/err.h>
                              using namespace std;
                              
                              int main()
                              {
                              	cout << "Hello World!" << endl;
                              	cout << "Hello!" << endl;
                              	SSL_load_error_strings();
                              	ERR_load_BIO_strings();
                              	OpenSSL_add_all_algorithms();
                              	printf("MySQL client version: %s\n", mysql_get_client_info());
                              	system("PAUSE");
                              	return 0;
                              }
                              

                              If you still need help, reply here or in chat and I will try to help.

                              C Offline
                              C Offline
                              cawlfj
                              wrote on 30 Dec 2018, 02:35 last edited by
                              #37

                              @Cobra91151 said in Qt static with MySQL issue:

                              MT -lAdvapi32 -lUser32 -lCrypt32 -lGdi32

                              Many thanks for your instruction . As per your instruction i use below configure

                              configure -confirm-license -opensource -release -static -static-runtime -mp -platform win32-msvc -prefix "D:\QT\512M" -sql-mysql MYSQL_PREFIX="C:/mysql" MYSQL_LIBS="-lmysqlclient MT -lAdvapi32 -lUser32 -lCrypt32 -lGdi32" -gui -no-dbus -widgets -qt-zlib -qt-libjpeg -gif -ico -qt-libpng -qt-xkbcommon -qt-freetype -qt-pcre -qt-harfbuzz -opengl desktop -nomake tests -nomake examples -no-compile-examples -skip qttranslations -skip qtserialport -skip qtwebengine -recheck-all

                              check the config.log
                              there are no the error like below
                              LINK : warning LNK4098: 默认库“MSVCRT”与其他库的使用冲突;请使用 /NODEFAULTLIB:library
                              mysqlclient.lib(bchange.obj) : warning LNK4049: 已导入本地定义的符号 memmove
                              mysqlclient.lib(ctype-tis620.obj) : warning LNK4049: 已导入本地定义的符号 memmove
                              mysqlclient.lib(net_serv.obj) : warning LNK4049: 已导入本地定义的符号 memmove
                              mysqlclient.lib(client.obj) : warning LNK4049: 已导入本地定义的符号 memmove
                              mysqlclient.lib(mf_pack.obj) : warning LNK4049: 已导入本地定义的符号 memmove
                              mysqlclient.lib(mf_dirname.obj) : warning LNK4049: 已导入本地定义的符号 memmove
                              mysqlclient.lib(libmysql.obj) : warning LNK4217: 本地定义的符号 memmove 在函数 fetch_float_with_conversion 中导入
                              mysqlclient.lib(mf_format.obj) : warning LNK4049: 已导入本地定义的符号 memmove"

                              these error in config.log file were gone.

                              now only 1 error show after configure comandline

                              ERROR: Feature 'sql-mysql' was enabled, but the pre-condition 'libs.mysql' failed.

                              anther question :
                              There is not blank before MT in your list command ?
                              Try to include to configure: MYSQL_LIBS="-lmysqlclientMT -lAdvapi32 -lUser32 -lCrypt32 -lGdi32" and also create a simple MySQL test project in VS 2017, for example console app to verify that it works:

                              1 Reply Last reply
                              0
                              • C Cobra91151
                                29 Dec 2018, 22:29

                                @cawlfj

                                Hi! Try to include to configure: MYSQL_LIBS="-lmysqlclientMT -lAdvapi32 -lUser32 -lCrypt32 -lGdi32" and also create a simple MySQL test project in VS 2017, for example console app to verify that it works:

                                #include <iostream>
                                #include <mysql.h>
                                #include <openssl/bio.h>
                                #include <openssl/ssl.h>
                                #include <openssl/err.h>
                                using namespace std;
                                
                                int main()
                                {
                                	cout << "Hello World!" << endl;
                                	cout << "Hello!" << endl;
                                	SSL_load_error_strings();
                                	ERR_load_BIO_strings();
                                	OpenSSL_add_all_algorithms();
                                	printf("MySQL client version: %s\n", mysql_get_client_info());
                                	system("PAUSE");
                                	return 0;
                                }
                                

                                If you still need help, reply here or in chat and I will try to help.

                                C Offline
                                C Offline
                                cawlfj
                                wrote on 30 Dec 2018, 04:32 last edited by
                                #38

                                @Cobra91151
                                Cloud you give me a copy of mysqlclient.lib qsqlmysql.lib qsqlmysql.prl build by youself with vs2017 x64? my email tigerlfj@126.com
                                i think the mysqlclient.lib download from web is not for vs2017.
                                bast regards,
                                jeff

                                C 2 Replies Last reply 30 Dec 2018, 10:37
                                0
                                • C cawlfj
                                  30 Dec 2018, 04:32

                                  @Cobra91151
                                  Cloud you give me a copy of mysqlclient.lib qsqlmysql.lib qsqlmysql.prl build by youself with vs2017 x64? my email tigerlfj@126.com
                                  i think the mysqlclient.lib download from web is not for vs2017.
                                  bast regards,
                                  jeff

                                  C Offline
                                  C Offline
                                  Cobra91151
                                  wrote on 30 Dec 2018, 10:37 last edited by
                                  #39

                                  @cawlfj

                                  Hi! I use Qt 5.9.7 and OpenSSL libs: 1.0.2l and MySQL: 5.7.23 because of the compatibility with Win Vista and later. I think it should be better for you to use latest versions of OpenSSL and MySQL to configure Qt 5.12.

                                  By the way, mysqlclientMT is the name of the MySQL static lib compiled with /MT flag.

                                  Change the instruction in configure to:

                                  MYSQL_LIBS="-lmysqlclient -lAdvapi32 -lUser32 -lCrypt32 -lGdi32"

                                  C 1 Reply Last reply 30 Dec 2018, 11:30
                                  0
                                  • C cawlfj
                                    30 Dec 2018, 04:32

                                    @Cobra91151
                                    Cloud you give me a copy of mysqlclient.lib qsqlmysql.lib qsqlmysql.prl build by youself with vs2017 x64? my email tigerlfj@126.com
                                    i think the mysqlclient.lib download from web is not for vs2017.
                                    bast regards,
                                    jeff

                                    C Offline
                                    C Offline
                                    Cobra91151
                                    wrote on 30 Dec 2018, 10:49 last edited by Cobra91151
                                    #40

                                    @cawlfj

                                    Also, this error: ERROR: Feature 'sql-mysql' was enabled, but the pre-condition 'libs.mysql' failed. points that your MySQL libs path is wrong in the Qt configure.

                                    For example:
                                    my include path and libs path: -I "C:\MySQL\mysql-5.7.23-winx64\release\include" -L "C:\MySQL\mysql-5.7.23-winx64\release\lib"

                                    Remove the MYSQL_PREFIX="C:/mysql" instruction and change to your paths appropriately.

                                    Also, I suggest you to create a batch script for Qt compilation.

                                    1 Reply Last reply
                                    0
                                    • C Cobra91151
                                      30 Dec 2018, 10:37

                                      @cawlfj

                                      Hi! I use Qt 5.9.7 and OpenSSL libs: 1.0.2l and MySQL: 5.7.23 because of the compatibility with Win Vista and later. I think it should be better for you to use latest versions of OpenSSL and MySQL to configure Qt 5.12.

                                      By the way, mysqlclientMT is the name of the MySQL static lib compiled with /MT flag.

                                      Change the instruction in configure to:

                                      MYSQL_LIBS="-lmysqlclient -lAdvapi32 -lUser32 -lCrypt32 -lGdi32"

                                      C Offline
                                      C Offline
                                      cawlfj
                                      wrote on 30 Dec 2018, 11:30 last edited by
                                      #41

                                      @Cobra91151
                                      I try again and got the finally without error. but the qsqlmysql.lib is very small(only 798k).
                                      can't use .

                                      C 1 Reply Last reply 30 Dec 2018, 12:08
                                      0
                                      • C cawlfj
                                        30 Dec 2018, 11:30

                                        @Cobra91151
                                        I try again and got the finally without error. but the qsqlmysql.lib is very small(only 798k).
                                        can't use .

                                        C Offline
                                        C Offline
                                        Cobra91151
                                        wrote on 30 Dec 2018, 12:08 last edited by
                                        #42

                                        @cawlfj

                                        Ok. Here are instructions how to build:

                                        1. Download the MySQL source from https://dev.mysql.com/downloads/mysql/
                                        2. Get the OpenSSL source from https://openssl.org/source/openssl-1.0.2l.tar.gz
                                        3. Extract all archives
                                        4. Compile static OpenSSL
                                        5. Compile static MySQL with previously compiled OpenSSL libs

                                        Read the MySQL and OpenSSL (https://wiki.openssl.org/index.php/Compilation_and_Installation#PREFIX_and_OPENSSLDIR) docs for more details.

                                        C 2 Replies Last reply 30 Dec 2018, 12:42
                                        0
                                        • C Cobra91151
                                          30 Dec 2018, 12:08

                                          @cawlfj

                                          Ok. Here are instructions how to build:

                                          1. Download the MySQL source from https://dev.mysql.com/downloads/mysql/
                                          2. Get the OpenSSL source from https://openssl.org/source/openssl-1.0.2l.tar.gz
                                          3. Extract all archives
                                          4. Compile static OpenSSL
                                          5. Compile static MySQL with previously compiled OpenSSL libs

                                          Read the MySQL and OpenSSL (https://wiki.openssl.org/index.php/Compilation_and_Installation#PREFIX_and_OPENSSLDIR) docs for more details.

                                          C Offline
                                          C Offline
                                          cawlfj
                                          wrote on 30 Dec 2018, 12:42 last edited by
                                          #43

                                          @Cobra91151
                                          Many thanks for your help.
                                          I will have a try.

                                          1 Reply Last reply
                                          1

                                          • Login

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