欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → 关于“x86编译没问题,64位编译后无法正确加载插件”等问题的解决,有类似问题的都看过来!

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有3025人关注过本帖树形打印复制链接

主题:关于“x86编译没问题,64位编译后无法正确加载插件”等问题的解决,有类似问题的都看过来!

帅哥哟,离线,有人找我吗?
nicosj
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:11 积分:0 威望:0 精华:0 注册:2018/9/24 23:07:58
关于“x86编译没问题,64位编译后无法正确加载插件”等问题的解决,有类似问题的都看过来!  发帖心情 Post By:2018/9/25 21:22:55 [只看该作者]

最近在折腾一个老插件,之前在x86版本中没问题。突然发现x64编译后无法在新版本金字塔x64版内正确加载。
于是搜索论坛发现类似的问题还不少……最终也没有得到明确有效的解决。而金字塔的相关文档也是寥寥带过,没有详细的说明。

于是从新版软件自带的Fmldevelop demo入手,发现用最新的vs2017 x64版本转换之后编译确遇到问题,于是兴奋不已,终于看到了
问题所在!(右键demo工程的属性)

即金字塔使用的C++ tools 和 windows SDK 8.1 是 vs2013 sp1(好像是)自带的版本,而不同版本的SDK由于引用和依赖
会有很大差异,所以编译出来的东西并不能保证二进制的兼容性。

所以,根本的解决问题,就是将需要编写的插件使用和金字塔(至少是demo)同一个版本的SDK,如果vs版本大于2013,则手动下载安装
windows SDK 8.1,然后再工程属性里面指定即可。最好把工程其他的编译依赖属性都改成和demo的工程相关属性一致,不要怕麻烦,把
工程属性里面的每一项都过一遍!!!

最后,建议金字塔在二次开发方面的文档能够做的更好一点。至少把软件使用的编译环境在文档中写明白,不要再让大家绕弯路了……

 回到顶部
帅哥哟,离线,有人找我吗?
马良
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:1516 积分:229 威望:0 精华:0 注册:2012/3/30 12:40:56
  发帖心情 Post By:2018/9/25 22:02:17 [只看该作者]

看了半天没看明白,您的意思是用自带的demo用2017编译64位也无法成功的吗?

 回到顶部
帅哥哟,离线,有人找我吗?
nicosj
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:11 积分:0 威望:0 精华:0 注册:2018/9/24 23:07:58
  发帖心情 Post By:2018/9/25 22:22:21 [只看该作者]

如果系统没有安装windows SDK 8.1,的话是无法编译成功的!demo工程的属性里面指定了SDK是8.1版本的,2017自带的SDK是版本10.xxxx,所以需要用VS的installer补充安装或者独立下载安装Windows SDK 8.1

 回到顶部
帅哥哟,离线,有人找我吗?
无为剑
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:2437 积分:0 威望:0 精华:0 注册:2016/3/5 22:53:41
  发帖心情 Post By:2018/9/26 11:44:31 [只看该作者]

我们用VS 2015测试 X64是没有问题的,你估计是安装VS开发工具时时没有使用正确的方法安装VC开发工具包

 回到顶部