主题:modbus—maste 共有55928人关注过本帖 |
---|
客人 |
1楼 |
modbus—maste Post By:2013-8-15 17:10:00 [只看该作者]
在进行modbus此类应用开发时,新建项目中,拷入modbus_master.h/ modbus_master.lib ,为嘛会提示有很多无法解析的外部符号??????是我使用方法的错误么。。。。
|
|
单帖管理 | 引用 | 回复 |
x10 |
2楼 |
Post By:2013-8-15 21:44:00 [只看该作者]
请问用的是什么主板?添加modbus库,请参考http://www.emtronix.com/article/article2013578.html 设置路径。
|
|
单帖管理 | 引用 | 回复 |
客人 |
3楼 |
Post By:2013-8-16 8:19:00 [只看该作者]
EM9170
|
|
单帖管理 | 引用 | 回复 |
yy |
4楼 信息 | 搜索 | 邮箱 |
加好友 发短信 |
Post By:2013-8-16 9:24:00 [只看该作者]
有很多无法解析的外部符号,多半原因是那个地方分号没打,或是哪个地方少打个括号之类的错误。
|
单帖管理 | 引用 | 回复 |
客人 |
5楼 |
Post By:2013-8-16 9:45:00 [只看该作者]
1>modbus_master.lib(MbusTcpMasterProtocol.obj) : error LNK2019: 无法解析的外部符号 WSACleanup,该符号在函数 "public: virtual void __cdecl MbusTcpMasterProtocol::closeProtocol(void)" (?closeProtocol@MbusTcpMasterProtocol@@UAAXXZ) 中被引用 1>modbus_master.lib(MbusTcpMasterProtocol.obj) : error LNK2019: 无法解析的外部符号 closesocket,该符号在函数 "public: virtual void __cdecl MbusTcpMasterProtocol::closeProtocol(void)" (?closeProtocol@MbusTcpMasterProtocol@@UAAXXZ) 中被引用 这样的错误提示不应该是您说的那种原因吧,我参考的是http://www.emtronix.com/product/ModBus_software.html里的软件使用方法,难道是我操作有错误??
|
|
单帖管理 | 引用 | 回复 |
yy |
6楼 信息 | 搜索 | 邮箱 |
加好友 发短信 |
Post By:2013-8-16 16:31:00 [只看该作者]
不是我上面说的错误,提示链接错误的函数定义在winsock2.h ,需要Ws2.lib,这些在SDK里面都有啊,我们提供的例程直接编译会有问题?你是什么板子,另外能留个邮箱吗?
|
单帖管理 | 引用 | 回复 |
客人 |
7楼 |
Post By:2013-8-16 16:41:00 [只看该作者]
你们给的modbus开发包没问题,只是我自己 参考http://www.emtronix.com/product/ModBus_software.html 另建时遇到问题,,1599758249@qq.com
|
|
单帖管理 | 引用 | 回复 |
客人 |
8楼 |
Post By:2013-8-16 16:48:00 [只看该作者]
请问Ws2.lib是在附赠光盘的SDK文件里吗????没找到。。。
|
|
单帖管理 | 引用 | 回复 |
yy |
9楼 信息 | 搜索 | 邮箱 |
加好友 发短信 |
Post By:2013-8-16 16:58:00 [只看该作者]
ws2.lib是你安装SDK后在SDK的目录下有,一般来说你只需要#include <winsock2.h>就行了。
[此贴子已经被作者于2013-8-16 16:58:33编辑过]
|
单帖管理 | 引用 | 回复 |
客人 |
10楼 |
Post By:2013-8-16 17:14:00 [只看该作者]
不好意思,此方法没成功。。。
|
|
单帖管理 | 引用 | 回复 |
yy |
11楼 信息 | 搜索 | 邮箱 |
加好友 发短信 |
Post By:2013-8-16 18:19:00 [只看该作者]
你在你工程的属性->Linker->Input的Additional Dependencies里面,看下ws2.lib加了没。
如果还是不行,看你方便不把你工程发我邮箱吧。yy@emtronix.com
|
单帖管理 | 引用 | 回复 |
客人 |
12楼 |
Post By:2013-8-16 18:55:00 [只看该作者]
手动添加后成功,非常感谢,但还想请教您每次都要手动添加而不是自动添加完成么?
|
|
单帖管理 | 引用 | 回复 |
客人 |
13楼 |
Post By:2013-8-16 18:59:00 [只看该作者]
板子是EM9170
|
|
单帖管理 | 引用 | 回复 |
yy |
14楼 信息 | 搜索 | 邮箱 |
加好友 发短信 |
Post By:2013-8-19 9:52:00 [只看该作者]
发现原因是,modbus_master.lib里有用到WSACleanup,GetAdaptersInfo,这些函数在ws2.lib和Iphlpapi.lib里,但是modbus_master工程并没有添加这两个库的引用,所以使用modbus_master.lib的工程需要添加这两个库,否则就会提示链接出错。
你添加引用后就可以正常使用,如果你觉得不方便,也可以告诉我邮箱或者发个邮件给我,我给你个新的modbus_master库。
|
单帖管理 | 引用 | 回复 |