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.
  • 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
            • Cobra91151C Offline
              Cobra91151C Offline
              Cobra91151
              wrote on 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
              • Cobra91151C Offline
                Cobra91151C Offline
                Cobra91151
                wrote on 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.

                aha_1980A 1 Reply Last reply
                0
                • Cobra91151C Cobra91151

                  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.

                  aha_1980A Offline
                  aha_1980A Offline
                  aha_1980
                  Lifetime Qt Champion
                  wrote on last edited by
                  #29
                  This post is deleted!
                  Cobra91151C 1 Reply Last reply
                  0
                  • aha_1980A aha_1980

                    This post is deleted!

                    Cobra91151C Offline
                    Cobra91151C Offline
                    Cobra91151
                    wrote on 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
                    • Cobra91151C Offline
                      Cobra91151C Offline
                      Cobra91151
                      wrote on 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 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
                        • Cobra91151C Offline
                          Cobra91151C Offline
                          Cobra91151
                          wrote on 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
                          0
                          • Cobra91151C Cobra91151

                            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 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
                            • Cobra91151C Cobra91151

                              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 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 个无法解析的外部命令

                              Cobra91151C 1 Reply Last reply
                              0
                              • C cawlfj

                                @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 个无法解析的外部命令

                                Cobra91151C Offline
                                Cobra91151C Offline
                                Cobra91151
                                wrote on 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
                                0
                                • Cobra91151C Cobra91151

                                  @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 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
                                  • Cobra91151C Cobra91151

                                    @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 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

                                    Cobra91151C 2 Replies Last reply
                                    0
                                    • C cawlfj

                                      @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

                                      Cobra91151C Offline
                                      Cobra91151C Offline
                                      Cobra91151
                                      wrote on 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
                                      0
                                      • C cawlfj

                                        @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

                                        Cobra91151C Offline
                                        Cobra91151C Offline
                                        Cobra91151
                                        wrote on 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
                                        • Cobra91151C Cobra91151

                                          @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 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 .

                                          Cobra91151C 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