EtherCat开源主站SOEM在windows下工程配置
截至2019年1月,虽然github上有1.3.3的更新,但是用的人估计还不多,而且1.3.2被官方认为bug严重弃用。所以还是学习1.3.1。
1、拷贝osal、oshw、soem、lib(已生成libsoem.lib)四个文件夹至工程目录。里面包含了绝大多数依赖库和头文件。
2、新建项目后打开属性——C/C++附加包含目录,添加引用头文件的包含目录(路径自行修改)。
C:\Users\boss\Desktop\testSOEM\osal; C:\Users\boss\Desktop\testSOEM\osal\win32; C:\Users\boss\Desktop\testSOEM\oshw\win32\wpcap\Include\pcap; C:\Users\boss\Desktop\testSOEM\oshw\win32\wpcap\Include; C:\Users\boss\Desktop\testSOEM\oshw\win32; C:\Users\boss\Desktop\testSOEM\soem;
3、C/C++预处理器——预处理器定义,添加WIN32。否则编译不通过,会报 无法打开 <sys/time.h>,这个是pcap.h里为linux系统配置的系统文件。
5、C/C++——命令行,添加 /D _CRT_SECURE_NO_WARNINGS ,否则一堆sprintf的报错,新语法规范而已。
4、链接器——常规——附加库目录,除了需要添加libsoem包含的目录还需要添加pcap库目录,否则会出现一推pcap的函数无法解析。
C:\Users\boss\Desktop\testSOEM\lib\win32 C:\Users\boss\Desktop\testSOEM\oshw\win32\wpcap\Lib
5、链接器——输入——附加依赖项,添加libsoem.lib、Packet.lib和wpcap.lib。理由同上。
6、最后在工程里不忘记再引用两个库,是程序与windows接口有关。
#pragma comment(lib,"ws2_32.lib") #pragma comment(lib,"winmm.lib")