以文本方式查看主题 - 金字塔客服中心 - 专业程序化交易软件提供商 (http://weistock.com/bbs/index.asp) -- 高级功能研发区 (http://weistock.com/bbs/list.asp?boardid=5) ---- 关于“x86编译没问题,64位编译后无法正确加载插件”等问题的解决,有类似问题的都看过来! (http://weistock.com/bbs/dispbbs.asp?boardid=5&id=165678) |
-- 作者:nicosj -- 发布时间:2018/9/25 21:22:55 -- 关于“x86编译没问题,64位编译后无法正确加载插件”等问题的解决,有类似问题的都看过来! 最近在折腾一个老插件,之前在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的工程相关属性一致,不要怕麻烦,把 工程属性里面的每一项都过一遍!!! 最后,建议金字塔在二次开发方面的文档能够做的更好一点。至少把软件使用的编译环境在文档中写明白,不要再让大家绕弯路了……
|
-- 作者:马良 -- 发布时间:2018/9/25 22:02:17 -- 看了半天没看明白,您的意思是用自带的demo用2017编译64位也无法成功的吗? |
-- 作者:nicosj -- 发布时间:2018/9/25 22:22:21 -- 如果系统没有安装windows SDK 8.1,的话是无法编译成功的!demo工程的属性里面指定了SDK是8.1版本的,2017自带的SDK是版本10.xxxx,所以需要用VS的installer补充安装或者独立下载安装Windows SDK 8.1 |
-- 作者:无为剑 -- 发布时间:2018/9/26 11:44:31 -- 我们用VS 2015测试 X64是没有问题的,你估计是安装VS开发工具时时没有使用正确的方法安装VC开发工具包 |