OpenKE在windows环境下的安装

请查看更新版本


OpenKE是清华NLP刘知远教授团队的一个知识表示学习(knowledge graph embedding)的开源框架。官方版本仅提供linux环境下的包。但由于公司电脑限制,不得不考虑在windows下跑。git上有一个issue问了如何在windows下运行,虽然没有提供具体步骤,但也提供了基本思路 - 重新编译base的c++库。

一开始偷懒不想装visual studio,先后尝试了mingw和cygwin均未成功。编译能过,但是都卡在了config.py中ctypes.cdll.LoadLibrary()这句话,原因应该是32/64没匹配上。非常奇怪,cygwin我是64位,但并不好使,无法正确加载动态库。最终还是用vs重新编译成dll,就可以运行了。以下是适用于vs的步骤。

1. 下载pthread for windows。我下的是pthreads-w32-2-9-1-release,省了自己编译,而且里面已经包含了32、64两套文件。解压后将pre-build.2/include和/lib下的文件可以选择拷贝到vc include默认路径下,也可以选择之后修改项目属性增加搜索路径。/dll下的文件需要拷贝到系统文件夹system32或syswow64下,32位的放到syswow64,64位的放到system32,不能搞反。

2. 修改base等相关文件。主要有以下几个地方:

  • base.cpp在 #include <pthread.h> 之前添加一行 #define HAVE_STRUCT_TIMESPEC。这行也可以直接在pthread.h中添加,效果一样。

  • 所有导出函数(不只是base.cpp,还有其它.h文件)都需要把extern "C"修改为extern "C" __declspec(dllexport)

  • setting.h中 #define INT long 修改为 typedef int INT; 

3. 在vs中新建c++ dll项目,所有文件导入。先在configuration manager中配置debug/release, 32bit/64bit为自己想要的。然后在项目属性中,按需修改vc++ directory (include、library路径);linker/input/Additional dependencies中添加pthreadVC2.lib;c\c++/Preprocessor,末行添加_CRT_SECURE_NO_WARNINGS

4. 编译即可得到base.dll,拷贝到OpenKE/release下。打开OpenKE/config/Config.py,把base.so改成base.dll就可以运行了。

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 18
    评论
《新概念51单片机C语言教程:入门、提高、开发、拓展》从实际应用入手,以实验过程和实验现象为主导,循序渐进地讲述51单片机C语言编程方法以及51单片机的硬件结构和功能应用。全书共分5篇,分别为入门篇、内外部资源操作篇、提高篇、实战篇和拓展篇。《新概念51单片机C语言教程:入门、提高、开发、拓展》内容丰富,实用性强,书中大部分内容均来自科研工作及教学实践,许多C语言代码可以直接应用到工程项目中。《新概念51单片机C语言教程》配套光盘提供13讲近30学时的教学视频和《新概念51单片机C语言教程》实例代码,可使读者更快更好地掌握单片机知识和应用技能。《新概念51单片机C语言教程》作者还可提供与《新概念51单片机C语言教程:入门、提高、开发、拓展》配套的单片机实验板。   《新概念51单片机C语言教程:入门、提高、开发、拓展》可作为大学本、专科单片机课程教材,适合于51单片机的初学者和使用51单片机从事项目开发的技术人员,也可供从事自动控制、智能仪器仪表、电力电子、机电一体化等专业的技术人员参考。 《新概念51单片机C语言教程:入门、提高、开发、拓展》组织:   全书分为勾5篇,入门篇、内外部资源操作篇、提高篇、实战篇和拓展篇   特别按照初学者所遇到的问题和需求路径安排全书内容   以应用需求为主线,搭建了单片机技术上下游的知识体系   从实际工程应用入手,通过实验过程和现象讲解单片机原理,可读性好   内容源于大量科研和教学实践,许多C语言代码可直接应用到工程项目中,实用性强   配套学习光盘,并可提供学习用实验板,可以边学边练学习资源:   读者对象:   高校电子信息类和机电类专业本/专科师生   高校大学生创新基地师生   51单片机C语言编程初学者   计算机、自动控制、智能仪器仪表、电力电子、机电一体化技术人员

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值