Building libmodbus (master as of today) with VS 2015, I got the following messages.
1>------ Rebuild All started: Project: modbus, Configuration: Release x64 ------
1> modbus-data.c
1>..\modbus-data.c(72): warning C4273: 'modbus_set_bits_from_byte': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus.h(269): note: see previous definition of 'modbus_set_bits_from_byte'
1>..\modbus-data.c(84): warning C4273: 'modbus_set_bits_from_bytes': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus.h(270): note: see previous definition of 'modbus_set_bits_from_bytes'
1>..\modbus-data.c(100): warning C4273: 'modbus_get_byte_from_bits': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus.h(272): note: see previous definition of 'modbus_get_byte_from_bits'
1>..\modbus-data.c(119): warning C4273: 'modbus_get_float_abcd': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus.h(274): note: see previous definition of 'modbus_get_float_abcd'
1>..\modbus-data.c(131): warning C4273: 'modbus_get_float_dcba': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus.h(275): note: see previous definition of 'modbus_get_float_dcba'
1>..\modbus-data.c(143): warning C4273: 'modbus_get_float_badc': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus.h(276): note: see previous definition of 'modbus_get_float_badc'
1>..\modbus-data.c(155): warning C4273: 'modbus_get_float_cdab': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus.h(277): note: see previous definition of 'modbus_get_float_cdab'
1>..\modbus-data.c(167): warning C4273: 'modbus_get_float': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus.h(273): note: see previous definition of 'modbus_get_float'
1>..\modbus-data.c(179): warning C4273: 'modbus_set_float_abcd': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus.h(280): note: see previous definition of 'modbus_set_float_abcd'
1>..\modbus-data.c(190): warning C4273: 'modbus_set_float_dcba': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus.h(281): note: see previous definition of 'modbus_set_float_dcba'
1>..\modbus-data.c(201): warning C4273: 'modbus_set_float_badc': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus.h(282): note: see previous definition of 'modbus_set_float_badc'
1>..\modbus-data.c(212): warning C4273: 'modbus_set_float_cdab': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus.h(283): note: see previous definition of 'modbus_set_float_cdab'
1>..\modbus-data.c(223): warning C4273: 'modbus_set_float': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus.h(279): note: see previous definition of 'modbus_set_float'
1> modbus-rtu.c
1>..\modbus-rtu.c(902): warning C4273: 'modbus_rtu_set_serial_mode': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus-rtu.h(25): note: see previous definition of 'modbus_rtu_set_serial_mode'
1>..\modbus-rtu.c(948): warning C4273: 'modbus_rtu_get_serial_mode': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus-rtu.h(26): note: see previous definition of 'modbus_rtu_get_serial_mode'
1>..\modbus-rtu.c(972): warning C4273: 'modbus_rtu_get_rts': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus-rtu.h(33): note: see previous definition of 'modbus_rtu_get_rts'
1>..\modbus-rtu.c(996): warning C4273: 'modbus_rtu_set_rts': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus-rtu.h(32): note: see previous definition of 'modbus_rtu_set_rts'
1>..\modbus-rtu.c(1032): warning C4273: 'modbus_rtu_set_custom_rts': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus-rtu.h(35): note: see previous definition of 'modbus_rtu_set_custom_rts'
1>..\modbus-rtu.c(1057): warning C4273: 'modbus_rtu_get_rts_delay': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus-rtu.h(38): note: see previous definition of 'modbus_rtu_get_rts_delay'
1>..\modbus-rtu.c(1082): warning C4273: 'modbus_rtu_set_rts_delay': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus-rtu.h(37): note: see previous definition of 'modbus_rtu_set_rts_delay'
1>..\modbus-rtu.c(1213): warning C4273: 'modbus_new_rtu': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus-rtu.h(19): note: see previous definition of 'modbus_new_rtu'
1>..\modbus-rtu.c(1240): warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> modbus-tcp.c
1>..\modbus-tcp.c(343): warning C4996: 'inet_addr': Use inet_pton() or InetPton() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings
1> C:\Program Files (x86)\Windows Kits\8.1\Include\um\winsock2.h(1850): note: see declaration of 'inet_addr'
1>..\modbus-tcp.c(481): warning C4273: 'modbus_tcp_listen': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus-tcp.h(43): note: see previous definition of 'modbus_tcp_listen'
1>..\modbus-tcp.c(521): warning C4996: 'inet_addr': Use inet_pton() or InetPton() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings
1> C:\Program Files (x86)\Windows Kits\8.1\Include\um\winsock2.h(1850): note: see declaration of 'inet_addr'
1>..\modbus-tcp.c(537): warning C4273: 'modbus_tcp_pi_listen': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus-tcp.h(47): note: see previous definition of 'modbus_tcp_pi_listen'
1>..\modbus-tcp.c(649): warning C4273: 'modbus_tcp_accept': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus-tcp.h(44): note: see previous definition of 'modbus_tcp_accept'
1>..\modbus-tcp.c(672): warning C4996: 'inet_ntoa': Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings
1> C:\Program Files (x86)\Windows Kits\8.1\Include\um\winsock2.h(1868): note: see declaration of 'inet_ntoa'
1>..\modbus-tcp.c(679): warning C4273: 'modbus_tcp_pi_accept': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus-tcp.h(48): note: see previous definition of 'modbus_tcp_pi_accept'
1>..\modbus-tcp.c(782): warning C4273: 'modbus_new_tcp': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus-tcp.h(42): note: see previous definition of 'modbus_new_tcp'
1>..\modbus-tcp.c(839): warning C4273: 'modbus_new_tcp_pi': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus-tcp.h(46): note: see previous definition of 'modbus_new_tcp_pi'
1> modbus.c
1>..\modbus.c(44): warning C4273: 'modbus_strerror': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus.h(201): note: see previous definition of 'modbus_strerror'
1>..\modbus.c(77): warning C4996: 'strerror': This function or variable may be unsafe. Consider using strerror_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\string.h(178): note: see declaration of 'strerror'
1>..\modbus.c(112): warning C4273: 'modbus_flush': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus.h(198): note: see previous definition of 'modbus_flush'
1>..\modbus.c(211): warning C4273: 'modbus_send_raw_request': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus.h(227): note: see previous definition of 'modbus_send_raw_request'
1>..\modbus.c(476): warning C4273: 'modbus_receive': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus.h(229): note: see previous definition of 'modbus_receive'
1>..\modbus.c(494): warning C4273: 'modbus_receive_confirmation': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus.h(231): note: see previous definition of 'modbus_receive_confirmation'
1>..\modbus.c(699): warning C4273: 'modbus_reply': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus.h(233): note: see previous definition of 'modbus_reply'
1>..\modbus.c(996): warning C4273: 'modbus_reply_exception': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus.h(235): note: see previous definition of 'modbus_reply_exception'
1>..\modbus.c(1076): warning C4273: 'modbus_read_bits': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus.h(203): note: see previous definition of 'modbus_read_bits'
1>..\modbus.c(1105): warning C4273: 'modbus_read_input_bits': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus.h(204): note: see previous definition of 'modbus_read_input_bits'
1>..\modbus.c(1180): warning C4273: 'modbus_read_registers': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus.h(205): note: see previous definition of 'modbus_read_registers'
1>..\modbus.c(1206): warning C4273: 'modbus_read_input_registers': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus.h(206): note: see previous definition of 'modbus_read_input_registers'
1>..\modbus.c(1260): warning C4273: 'modbus_write_bit': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus.h(207): note: see previous definition of 'modbus_write_bit'
1>..\modbus.c(1272): warning C4273: 'modbus_write_register': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus.h(208): note: see previous definition of 'modbus_write_register'
1>..\modbus.c(1283): warning C4273: 'modbus_write_bits': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus.h(209): note: see previous definition of 'modbus_write_bits'
1>..\modbus.c(1346): warning C4273: 'modbus_write_registers': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus.h(210): note: see previous definition of 'modbus_write_registers'
1>..\modbus.c(1394): warning C4273: 'modbus_mask_write_register': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus.h(211): note: see previous definition of 'modbus_mask_write_register'
1>..\modbus.c(1437): warning C4273: 'modbus_write_and_read_registers': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus.h(212): note: see previous definition of 'modbus_write_and_read_registers'
1>..\modbus.c(1511): warning C4273: 'modbus_report_slave_id': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus.h(215): note: see previous definition of 'modbus_report_slave_id'
1>..\modbus.c(1571): warning C4273: 'modbus_set_slave': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus.h(179): note: see previous definition of 'modbus_set_slave'
1>..\modbus.c(1581): warning C4273: 'modbus_get_slave': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus.h(180): note: see previous definition of 'modbus_get_slave'
1>..\modbus.c(1592): warning C4273: 'modbus_set_error_recovery': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus.h(181): note: see previous definition of 'modbus_set_error_recovery'
1>..\modbus.c(1604): warning C4273: 'modbus_set_socket': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus.h(182): note: see previous definition of 'modbus_set_socket'
1>..\modbus.c(1615): warning C4273: 'modbus_get_socket': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus.h(183): note: see previous definition of 'modbus_get_socket'
1>..\modbus.c(1626): warning C4273: 'modbus_get_response_timeout': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus.h(185): note: see previous definition of 'modbus_get_response_timeout'
1>..\modbus.c(1638): warning C4273: 'modbus_set_response_timeout': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus.h(186): note: see previous definition of 'modbus_set_response_timeout'
1>..\modbus.c(1652): warning C4273: 'modbus_get_byte_timeout': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus.h(188): note: see previous definition of 'modbus_get_byte_timeout'
1>..\modbus.c(1664): warning C4273: 'modbus_set_byte_timeout': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus.h(189): note: see previous definition of 'modbus_set_byte_timeout'
1>..\modbus.c(1677): warning C4273: 'modbus_get_header_length': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus.h(191): note: see previous definition of 'modbus_get_header_length'
1>..\modbus.c(1687): warning C4273: 'modbus_connect': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus.h(193): note: see previous definition of 'modbus_connect'
1>..\modbus.c(1697): warning C4273: 'modbus_close': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus.h(194): note: see previous definition of 'modbus_close'
1>..\modbus.c(1705): warning C4273: 'modbus_free': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus.h(196): note: see previous definition of 'modbus_free'
1>..\modbus.c(1713): warning C4273: 'modbus_set_debug': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus.h(199): note: see previous definition of 'modbus_set_debug'
1>..\modbus.c(1734): warning C4273: 'modbus_mapping_new_start_address': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus.h(217): note: see previous definition of 'modbus_mapping_new_start_address'
1>..\modbus.c(1815): warning C4273: 'modbus_mapping_new': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus.h(223): note: see previous definition of 'modbus_mapping_new'
1>..\modbus.c(1822): warning C4273: 'modbus_mapping_free': inconsistent dll linkage
1> c:\users\sofke\desktop\libmodbus-master\src\modbus.h(225): note: see previous definition of 'modbus_mapping_free'
1> Generating Code...
1> Creating library C:\Users\sofke\Desktop\libmodbus-master\src\win32\x64\Release\modbus.lib and object C:\Users\sofke\Desktop\libmodbus-master\src\win32\x64\Release\modbus.exp
1>modbus-rtu.obj : warning LNK4217: locally defined symbol modbus_free imported in function modbus_new_rtu
1>modbus-tcp.obj : warning LNK4217: locally defined symbol modbus_free imported in function _modbus_tcp_close
1>modbus.obj : warning LNK4217: locally defined symbol modbus_set_bits_from_bytes imported in function modbus_reply
1>modbus-data.obj : error LNK2019: unresolved external symbol __imp_htonl referenced in function modbus_set_float_abcd
1>modbus-tcp.obj : error LNK2001: unresolved external symbol __imp_htonl
1>modbus-data.obj : error LNK2019: unresolved external symbol __imp_ntohl referenced in function modbus_get_float_abcd
1>modbus-tcp.obj : error LNK2019: unresolved external symbol __imp_accept referenced in function modbus_tcp_accept
1>modbus-tcp.obj : error LNK2019: unresolved external symbol __imp_bind referenced in function modbus_tcp_listen
1>modbus-tcp.obj : error LNK2019: unresolved external symbol __imp_closesocket referenced in function _modbus_tcp_connect
1>modbus-tcp.obj : error LNK2019: unresolved external symbol __imp_connect referenced in function _connect
1>modbus-tcp.obj : error LNK2019: unresolved external symbol __imp_ioctlsocket referenced in function _modbus_tcp_set_ipv4_options
1>modbus-tcp.obj : error LNK2019: unresolved external symbol __imp_getsockopt referenced in function _connect
1>modbus-tcp.obj : error LNK2019: unresolved external symbol __imp_htons referenced in function _modbus_tcp_connect
1>modbus-tcp.obj : error LNK2019: unresolved external symbol __imp_inet_addr referenced in function _modbus_tcp_connect
1>modbus-tcp.obj : error LNK2019: unresolved external symbol __imp_inet_ntoa referenced in function modbus_tcp_accept
1>modbus-tcp.obj : error LNK2019: unresolved external symbol __imp_listen referenced in function modbus_tcp_listen
1>modbus-tcp.obj : error LNK2019: unresolved external symbol __imp_recv referenced in function _modbus_tcp_flush
1>modbus-tcp.obj : error LNK2019: unresolved external symbol __imp_select referenced in function _modbus_tcp_flush
1>modbus-tcp.obj : error LNK2019: unresolved external symbol __imp_send referenced in function _modbus_tcp_send
1>modbus-tcp.obj : error LNK2019: unresolved external symbol __imp_setsockopt referenced in function _modbus_tcp_set_ipv4_options
1>modbus-tcp.obj : error LNK2019: unresolved external symbol __imp_shutdown referenced in function _modbus_tcp_close
1>modbus-tcp.obj : error LNK2019: unresolved external symbol __imp_socket referenced in function _modbus_tcp_connect
1>modbus-tcp.obj : error LNK2019: unresolved external symbol __imp_WSAStartup referenced in function _modbus_tcp_init_win32
1>modbus-tcp.obj : error LNK2019: unresolved external symbol __imp_WSAGetLastError referenced in function _connect
1>modbus-tcp.obj : error LNK2019: unresolved external symbol __imp_getaddrinfo referenced in function _modbus_tcp_pi_connect
1>modbus-tcp.obj : error LNK2019: unresolved external symbol __imp_freeaddrinfo referenced in function _modbus_tcp_pi_connect
1>LIBCMT.lib(exe_main.obj) : error LNK2019: unresolved external symbol main referenced in function "int __cdecl __scrt_common_main_seh(void)" (?__scrt_common_main_seh@@YAHXZ)
1>C:\Users\sofke\Desktop\libmodbus-master\src\win32\x64\Release\modbus.exe : fatal error LNK1120: 23 unresolved externals
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========