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 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
                            • C cawlfj

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

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

                                @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 last edited by
                                #43

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

                                1 Reply Last reply
                                1
                                • Cobra91151C Cobra91151

                                  @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 last edited by
                                  #44

                                  @Cobra91151

                                  I use below steps and got the openssl

                                  1:download openssl-1.0.2l
                                  2: cd c:\openssl-10.2l
                                  3:perl Configure VC-WIN64A no-asm --prefix=c:/QtOpenSSL64
                                  4:ms\do_win64a
                                  5:nmake -f ms\nt.mak
                                  6: nmake -f ms\nt.mak test if dispaly passed all tests at last row means ok
                                  7:nmake -f ms\nt.mak install
                                  There are 2 libs in c:\QtOpenSSL64\lib libeay32.lib ssleay32.lib

                                  I don't know how to next step mark in your instruction
                                  5:Compile static MySQL with previously compiled OpenSSL libs
                                  Cloud you give me more details?
                                  Many thanks.

                                  C 1 Reply Last reply
                                  0
                                  • C cawlfj

                                    @Cobra91151

                                    I use below steps and got the openssl

                                    1:download openssl-1.0.2l
                                    2: cd c:\openssl-10.2l
                                    3:perl Configure VC-WIN64A no-asm --prefix=c:/QtOpenSSL64
                                    4:ms\do_win64a
                                    5:nmake -f ms\nt.mak
                                    6: nmake -f ms\nt.mak test if dispaly passed all tests at last row means ok
                                    7:nmake -f ms\nt.mak install
                                    There are 2 libs in c:\QtOpenSSL64\lib libeay32.lib ssleay32.lib

                                    I don't know how to next step mark in your instruction
                                    5:Compile static MySQL with previously compiled OpenSSL libs
                                    Cloud you give me more details?
                                    Many thanks.

                                    C Offline
                                    C Offline
                                    cawlfj
                                    wrote on last edited by cawlfj
                                    #45

                                    @cawlfj
                                    after got openssl by above 1-7.
                                    8 :I download mysql connector c " mysql-connector-c-6.1.11-src.zip"
                                    9: build it by cmake-gui and then got mysqlclient.lib
                                    10: use below configure command, can see the openssl is yes but mysql is still erro
                                    ERROR: Feature 'sql-mysql' was enabled, but the pre-condition 'libs.mysql' failed.

                                    configure -confirm-license -opensource -release -static -static-runtime -mp -platform win32-msvc -prefix "D:\QT\512M" -openssl-linked OPENSSL_PREFIX=C:\QtOpenSSL64 OPENSSL_LIBS="-lssleay32 -llibeay32 -lgdi32" -sql-mysql MYSQL_PREFIX=C:\mysql MYSQL_LIBS="-lmysqlclient -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

                                    Cobra91151C 1 Reply Last reply
                                    0
                                    • C cawlfj

                                      @cawlfj
                                      after got openssl by above 1-7.
                                      8 :I download mysql connector c " mysql-connector-c-6.1.11-src.zip"
                                      9: build it by cmake-gui and then got mysqlclient.lib
                                      10: use below configure command, can see the openssl is yes but mysql is still erro
                                      ERROR: Feature 'sql-mysql' was enabled, but the pre-condition 'libs.mysql' failed.

                                      configure -confirm-license -opensource -release -static -static-runtime -mp -platform win32-msvc -prefix "D:\QT\512M" -openssl-linked OPENSSL_PREFIX=C:\QtOpenSSL64 OPENSSL_LIBS="-lssleay32 -llibeay32 -lgdi32" -sql-mysql MYSQL_PREFIX=C:\mysql MYSQL_LIBS="-lmysqlclient -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

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

                                      @cawlfj

                                      Hi! The problem is that you use MySQL connector. But instead you should download this one:

                                      alt text

                                      Extract it and build it with OpenSSL libs (which you previously built).

                                      Also read it:

                                      @Cobra91151 said in Qt static with MySQL issue:

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

                                      C 1 Reply Last reply
                                      0
                                      • Cobra91151C Cobra91151

                                        @cawlfj

                                        Hi! The problem is that you use MySQL connector. But instead you should download this one:

                                        alt text

                                        Extract it and build it with OpenSSL libs (which you previously built).

                                        Also read it:

                                        @Cobra91151 said in Qt static with MySQL issue:

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

                                        C Offline
                                        C Offline
                                        cawlfj
                                        wrote on last edited by
                                        #47

                                        @Cobra91151
                                        Dear Cobora91151
                                        Use mysql connector c and modify the mysql_version.h.in to mysql_version.h
                                        after configure , the mysql is display yes.
                                        But after build whole qt , the qsqlmysql.lib is not present.
                                        I will try mysql community server 8.0.13 .

                                        Cobra91151C 1 Reply Last reply
                                        0
                                        • C cawlfj

                                          @Cobra91151
                                          Dear Cobora91151
                                          Use mysql connector c and modify the mysql_version.h.in to mysql_version.h
                                          after configure , the mysql is display yes.
                                          But after build whole qt , the qsqlmysql.lib is not present.
                                          I will try mysql community server 8.0.13 .

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

                                          @cawlfj

                                          I never used MySQL connector, it's only confuses. Open VS 2017 x64 command prompt and navigate to the MySQL source dir and enter these instructions:

                                          cmake -DBUILD_SHARED_LIBS=OFF -DLINK_STATIC_RUNTIME_LIBRARIES=1 -DDOWNLOAD_BOOST=1 -DWITH_BOOST="C:\Boost" -DWITH_SSL="C:\OpenSSL\openssl-1.0.2l\x64\release" -DOPENSSL_LIBRARY="C:\OpenSSL\openssl-1.0.2l\x64\release\lib\ssleay32MT.lib" -DCRYPTO_LIBRARY="C:\OpenSSL\openssl-1.0.2l\x64\release\lib\libeay32MT.lib" -G "Visual Studio 15 2017 Win64"

                                          Change all OpenSSL paths to appropriate yours and follow the instructions from the output. Then open compiled project in the VS 2017 and build it all. After that, you will see mysqlclient lib.

                                          Note 1: The only MySQL static lib is mysqlclient.lib
                                          Note 2: Check your MySQL libs are compiled with /MT flags with VS 2017 and also before the Qt compilation I suggest to check if it works by creating simple console project.

                                          Happy New Year!

                                          C 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