|
After checking out the latest source (revision 82) and generating Visual Studio solution file with
cmake . -G"Visual Studio 10" &
cmake . -G"Visual Studio 10 Win64"
generates the solution file.
While trying to compile the latest revision of the library, this fails with the following error:
Error 10 error C1083: Cannot open include file: 'iconv.h': No such file or directory D:\mariadb_revisions\mariadbclient\libmariadb\my_charset.c 55 1 mariadbclient
Now, adding the path to "iconv.h" (within the client library directory, "win-iconv")
gets rid of the error but ends up with several of these warnings.
(64 - Bit)
1>ma_dyncol.c(1661): warning C4267: 'function' : conversion from 'size_t' to 'ulong', possible loss of data
1>ma_dyncol.c(3860): warning C4267: 'function' : conversion from 'size_t' to 'ulong', possible loss of data
1>ma_dyncol.c(3899): warning C4013: 'convert_string' undefined; assuming extern returning int
1>ma_dyncol.c(3956): warning C4267: 'function' : conversion from 'size_t' to 'ulong', possible loss of data
1>ma_dyncol.c(4210): warning C4267: 'function' : conversion from 'size_t' to 'ulong', possible loss of data
1>ma_dyncol.c(4405): warning C4098: 'mariadb_dyncol_free' : 'void' function returning a value
1>my_charset.c(1085): warning C4013: 'my_snprintf' undefined; assuming extern returning int
1> violite.c
1>violite.c(211): warning C4267: 'function' : conversion from 'size_t' to 'DWORD', possible loss of data
1>violite.c(216): warning C4267: 'function' : conversion from 'size_t' to 'int', possible loss of data
1>violite.c(238): warning C4133: 'function' : incompatible types - from 'size_t *' to 'u_long *'
1>violite.c(274): warning C4267: 'function' : conversion from 'size_t' to 'DWORD', possible loss of data
1>violite.c(279): warning C4267: 'function' : conversion from 'size_t' to 'int', possible loss of data
1>violite.c(469): warning C4013: 'my_inet_ntoa' undefined; assuming extern returning int
1> net.c
1>net.c(173): warning C4267: '=' : conversion from 'size_t' to 'unsigned long', possible loss of data
1>net.c(647): warning C4267: '=' : conversion from 'size_t' to 'ulong', possible loss of data
1>net.c(695): warning C4267: '+=' : conversion from 'size_t' to 'unsigned long', possible loss of data
1>net.c(704): warning C4267: 'return' : conversion from 'size_t' to 'ulong', possible loss of data
1>net.c(754): warning C4267: '+=' : conversion from 'size_t' to 'unsigned long', possible loss of data
1>net.c(755): warning C4267: '+=' : conversion from 'size_t' to 'unsigned long', possible loss of data
1>net.c(764): warning C4267: 'return' : conversion from 'size_t' to 'ulong', possible loss of data
1>dbug.c(1116): warning C4267: 'function' : conversion from 'size_t' to 'uint', possible loss of data
1>dbug.c(1116): warning C4267: 'function' : conversion from 'size_t' to 'uint', possible loss of data
1>dbug.c(1117): warning C4267: 'function' : conversion from 'size_t' to 'uint', possible loss of data
1>dbug.c(1118): warning C4267: 'function' : conversion from 'size_t' to 'uint', possible loss of data
1>dbug.c(1118): warning C4267: 'function' : conversion from 'size_t' to 'uint', possible loss of data
1>dbug.c(1121): warning C4267: 'function' : conversion from 'size_t' to 'uint', possible loss of data
1>dbug.c(1121): warning C4267: 'function' : conversion from 'size_t' to 'uint', possible loss of data
1>dbug.c(1128): warning C4267: 'function' : conversion from 'size_t' to 'uint', possible loss of data
1>dbug.c(1129): warning C4267: 'function' : conversion from 'size_t' to 'uint', possible loss of data
1>dbug.c(1129): warning C4267: 'function' : conversion from 'size_t' to 'uint', possible loss of data
1>dbug.c(1132): warning C4267: 'function' : conversion from 'size_t' to 'uint', possible loss of data
1>dbug.c(1292): warning C4013: 'my_snprintf' undefined; assuming extern returning int
1>libmariadb.c(222): warning C4244: 'function' : conversion from 'SOCKET' to 'int', possible loss of data
1>libmariadb.c(1602): warning C4267: 'function' : conversion from 'size_t' to 'uint', possible loss of data
1>libmariadb.c(1787): warning C4244: '=' : conversion from '__int64' to 'uint', possible loss of data
1>libmariadb.c(1790): warning C4244: '=' : conversion from '__int64' to 'uint', possible loss of data
1>libmariadb.c(1850): warning C4267: 'function' : conversion from 'size_t' to 'unsigned int', possible loss of data
1>libmariadb.c(3136): warning C4244: 'return' : conversion from '__int64' to 'ulong', possible loss of data
1>my_compress.c(66): warning C4267: '=' : conversion from 'size_t' to 'ulong', possible loss of data
1>my_compress.c(78): warning C4133: 'function' : incompatible types - from 'size_t *' to 'uLongf *'
1>my_compress.c(78): warning C4267: 'function' : conversion from 'size_t' to 'uLong', possible loss of data
1>my_stmt.c(268): warning C4013: 'simple_command' undefined; assuming extern returning int
1>my_stmt.c(1355): warning C4018: '<' : signed/unsigned mismatch
1> my_loaddata.c
1>my_loaddata.c(100): warning C4267: 'function' : conversion from 'size_t' to 'int', possible loss of data
1>my_loaddata.c(109): warning C4267: 'function' : conversion from 'size_t' to 'int', possible loss of data
1>my_auth.c(237): warning C4013: 'simple_command' undefined; assuming extern returning int
1>my_auth.c(497): warning C4267: 'function' : conversion from 'size_t' to 'int', possible loss of data
1>my_auth.c(499): warning C4267: 'function' : conversion from 'size_t' to 'int', possible loss of data
1>my_auth.c(529): warning C4244: '=' : conversion from 'SOCKET' to 'int', possible loss of data
1>my_auth.c(533): warning C4244: '=' : conversion from 'SOCKET' to 'int', possible loss of data
1>my_auth.c(543): warning C4244: '=' : conversion from 'SOCKET' to 'int', possible loss of data
1>my_auth.c(681): warning C4267: '=' : conversion from 'size_t' to 'uint', possible loss of data
And while compiling 32-bit library results in these warnings:
1>ma_dyncol.c(578): warning C4244: '=' : conversion from 'ulonglong' to 'size_t', possible loss of data
1>ma_dyncol.c(2819): warning C4244: '+=' : conversion from '__int64' to 'size_t', possible loss of data
1>ma_dyncol.c(2985): warning C4244: '+=' : conversion from '__int64' to 'size_t', possible loss of data
1>ma_dyncol.c(3039): warning C4244: 'function' : conversion from '__int64' to 'size_t', possible loss of data
1>ma_dyncol.c(3041): warning C4244: '+=' : conversion from '__int64' to 'size_t', possible loss of data
1>ma_dyncol.c(3530): warning C4244: '=' : conversion from '__int64' to 'size_t', possible loss of data
1>ma_dyncol.c(3531): warning C4244: '=' : conversion from '__int64' to 'size_t', possible loss of data
1>ma_dyncol.c(3899): warning C4013: 'convert_string' undefined; assuming extern returning int
1>ma_dyncol.c(4405): warning C4098: 'mariadb_dyncol_free' : 'void' function returning a value
1>my_charset.c(1084): warning C4013: 'my_snprintf' undefined; assuming extern returning int
1> violite.c
1>violite.c(469): warning C4013: 'my_inet_ntoa' undefined; assuming extern returning int
1>dbug.c(1292): warning C4013: 'my_snprintf' undefined; assuming extern returning int
rror.c
1>my_stmt.c(268): warning C4013: 'simple_command' undefined; assuming extern returning int
1>my_stmt.c(1355): warning C4018: '<' : signed/unsigned mismatch
1>my_auth.c(237): warning C4013: 'simple_command' undefined; assuming extern returning int
Can these warnings be fixed?
However, ignoring the warnings and building a sample application fails to link with the client library with the following errors:
1>mariadbclient.lib(my_charset.obj) : error LNK2019: unresolved external symbol _iconv_close referenced in function _convert_string
1>mariadbclient.lib(my_charset.obj) : error LNK2019: unresolved external symbol _iconv referenced in function _convert_string
1>mariadbclient.lib(my_charset.obj) : error LNK2019: unresolved external symbol _iconv_open referenced in function _convert_string
1>D:\sample\mariadb_test\Debug\mariadb_test.exe : fatal error LNK1120: 3 unresolved externals
Are we missing something?
Linking issues never happened before (until revision 80)
|