Problem compiling libmodbus in Visual Studio

963 views
Skip to first unread message

Oscar Azofeifa

unread,
Oct 30, 2015, 3:13:50 PM10/30/15
to libmodbus
Hello,

I am trying to run libmodbus on my computer using visual studio. I started trying with Visual Studio 2015, but it didn't work. Then I tried using VS express 2008, and I got the same problem that I got with VS 2015. When I try to compile I get this error:

modbus-data.obj : error LNK2019: unresolved external symbol _bswap_16 referenced in function _modbus_get_float_badc

Is this related to the code itself, or am I missing some extra configuration I have to make?

Thanks! 

Stéphane Raimbault

unread,
Nov 2, 2015, 8:19:49 AM11/2/15
to libm...@googlegroups.com
libmodbus tries to use native functions to manipulate bytes (bswap16 and bswap32) so there are a few tests at compile time
to define them if there don't exist.


Do you see a warning at compilation time (Fallback on C ...) ?



--
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes "libmodbus".
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, envoyez un e-mail à l'adresse libmodbus+...@googlegroups.com.
Pour obtenir davantage d'options, consultez la page https://groups.google.com/d/optout.

Oscar Azofeifa

unread,
Nov 3, 2015, 1:45:08 PM11/3/15
to libmodbus
I have used another code by Lloyd Moore. It has some modifications in this part of the code, and worked out. Thanks!

Stéphane Raimbault

unread,
Jan 15, 2016, 6:36:17 PM1/15/16
to libm...@googlegroups.com
Could you me a link to this code, please?

soeren...@gmail.com

unread,
Mar 11, 2017, 2:39:00 AM3/11/17
to libmodbus
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 ==========

soeren...@gmail.com

unread,
Mar 11, 2017, 3:03:39 AM3/11/17
to libmodbus
Including the following line into one source files fixed the majority of linker errors:
#pragma comment(lib, "Ws2_32.lib")

One is still remaining:
1>..\modbus.c(45): 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(78): 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(113): 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(212): 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(477): 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(495): 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(700): 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(997): 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(1077): 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(1106): 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(1181): 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(1207): 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(1261): 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(1273): 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(1284): 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(1347): 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(1395): 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(1438): 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(1512): 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(1572): 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(1582): 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(1593): 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(1605): 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(1616): 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(1627): 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(1639): 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(1653): 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(1665): 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(1678): 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(1688): 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(1698): 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(1706): 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(1714): 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(1735): 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(1816): 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(1823): 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>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: 1 unresolved externals

soeren...@gmail.com

unread,
Mar 11, 2017, 3:36:51 AM3/11/17
to libmodbus
Setting the "Configuration Type" in projects "Properties" to DLL fixed that issue. Now I obtained a DLL.
Reply all
Reply to author
Forward
0 new messages