步骤都是参考git下的说明文件,这里做个记录。
准备:
0 安装cmak
https://cmake.org/
你得保证在powershell使用可以使用cmake
1 libiec61850源码
https://github.com/mz-automation/libiec61850
2 Goose支持
要在Windows(7/8/10)上构建具有GOOSE支持的库并运行libiec61850应用程序,需要使用第三方库(winpcap)。
因为当前版本的Windows不支持原始套接字。您可以在此处下载winpcap(http://www.winpcap.org)。
- 下载并安装winpcap。确保在启动时加载了winpcap驱动程序(您可以在winpcap安装程序的最后一个屏幕上选择此选项)。
- 重新引导系统(您以后也可以执行此操作,但是在运行任何使用GOOSE的llibiec61850应用程序之前,需要重新引导或加载winpcap驱动程序)。
- 从此处下载winpcap开发包(http://www.winpcap.org/install/bin/WpdPack_4_1_2.zip)
- 解压缩该zip文件。从libiec61850的third_party / winpcap目录的WpdPack目录中复制Lib和Include文件
3 在sqlite中使用日志服务
该库提供对IEC 61850日志服务的支持。它为日志数据库提供抽象接口。包括一个使用sqlite进行日志记录的驱动程序。该驱动程序可以看作是有关如何使用抽象日志记录接口的示例。
您可以通过将src / logging / drivers / sqlite / log_storage_sqlite.c文件包含在应用程序构建中来使用驱动程序。
在Ubuntu Linux(和simpilar Linux发行版)上,从标准存储库安装sqlite dev软件包就足够了。对于其他操作系统(例如Windows)并进行交叉编译,建议下载sqlite 的惊奇源代码(来自https://www.sqlite.org/download.html),然后将其复制到third_party / sqlite文件夹中。
在Windows上,cmake skript将检测sqlite源代码,并创建示例项目进行日志记录。
下载参考:sqlite-amalgamation-3320200.zip
4 编译 libiec61850
在编译之前你要确认下:
1. 电脑已经安装好了winpcap,并且已经重启加载了该驱动。
2.winpcap开发包lib和include文件拷贝到对应的目录下:X:\gitCode\libiec61850\third_party\winpcap
3. 把sqlite-amalgamation的源码文件已经拷贝到对应的目录下:X:\gitCode\libiec61850\third_party\sqlite
现在开始使用cmake创建vs编译工程。
新建两个文件夹 VS2017盒VS2017x86lib。一个用来保存编译文件,一个用来保存生成的库文件。
在vs2017目录下按着shift右键打开powershell。
输入: cmake -G "Visual Studio 15 2017" ..\libiec61850\
..\libiec61850\ 是从git下载的源码文件。
(如果需要编译x64版本的话--cmake -G "Visual Studio 15 2017 Win64" ..)
vs2017目录下的libiec61850.sln就是我们想要的文件。
库的安装可以在vs2017/cmake_install.cmake中修改。
ALLB_BUILED 连续编译两次,然后在编译INSTALL既可把库安装在VS2017x86lib目录下。