VeighNa量化社区
你的开源社区量化交易平台
Member
avatar
加入于:
帖子: 6
声望: 0

编译环境:
系统:Windows 10 x64
编译工具: Visual Studio Community 2019

通过VS进行编译时提示以下错误:

1>  正在创建库 C:\work\vnpy-2.1.6\vnpy\api\ksgold\vnksgold\..\vnksgoldmd.lib 和对象 C:\work\vnpy-2.1.6\vnpy\api\ksgold\vnksgold\..\vnksgoldmd.exp
1>vnksgoldmd.obj : error LNK2001: 无法解析的外部符号 "public: static class KSGoldTradeAPI::CKSGoldQuotApi * __cdecl KSGoldTradeAPI::CKSGoldQuotApi::CreateGoldQutoApi(char const *)" (?CreateGoldQutoApi@CKSGoldQuotApi@KSGoldTradeAPI@@SAPEAV12@PEBD@Z)
1>C:\work\vnpy-2.1.6\vnpy\api\ksgold\vnksgold\..\vnksgoldmd.pyd : fatal error LNK1120: 1 个无法解析的外部命令
1>已完成生成项目“vnksgoldmd.vcxproj”的操作 - 失败。
2>  正在创建库 C:\work\vnpy-2.1.6\vnpy\api\ksgold\vnksgold\..\vnksgoldtd.lib 和对象 C:\work\vnpy-2.1.6\vnpy\api\ksgold\vnksgold\..\vnksgoldtd.exp
2>vnksgoldtd.obj : error LNK2001: 无法解析的外部符号 "public: static class KSGoldTradeAPI::CKSGoldTraderApi * __cdecl KSGoldTradeAPI::CKSGoldTraderApi::CreateGoldTraderApi(char const *)" (?CreateGoldTraderApi@CKSGoldTraderApi@KSGoldTradeAPI@@SAPEAV12@PEBD@Z)
2>C:\work\vnpy-2.1.6\vnpy\api\ksgold\vnksgold\..\vnksgoldtd.pyd : fatal error LNK1120: 1 个无法解析的外部命令
2>已完成生成项目“vnksgoldtd.vcxproj”的操作 - 失败。

分别在md和td工程文件中,注释掉下面语句则编译成功:

this->api = CKSGoldQuotApi::CreateGoldQutoApi(pszFlowPath.c_str());
this->api = CKSGoldTraderApi::CreateGoldTraderApi(pszFlowPath.c_str());

网上找了“error LNK2001: 无法解析的外部符号”的解决方案,都十分笼统。还请大神看一下。谢谢!

Member
avatar
加入于:
帖子: 4727
声望: 287

可以用2017试试还报不报错

Member
avatar
加入于:
帖子: 6
声望: 0

我下载了一个1.8的vnpy版本,里面金仕达只有td交易代码,没有md行情代码。修改了引用库文件地址后还是同样错误:

1>------ 已启动全部重新生成: 项目: vnksgoldtd, 配置: Release x64 ------
1>stdafx.cpp
1>dllmain.cpp
1>vnksgoldtd.cpp
1>  正在创建库 C:\work\vnpy1.8\api\ksgold\vnksgoldtd\x64\Release\vnksgoldtd.lib 和对象 C:\work\vnpy1.8\api\ksgold\vnksgoldtd\x64\Release\vnksgoldtd.exp
1>vnksgoldtd.obj : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) public: static class CGoldTradeApi * __cdecl CGoldTradeApi::CreateGoldTradeApi(void)" (__imp_?CreateGoldTradeApi@CGoldTradeApi@@SAPEAV1@XZ)
1>C:\work\vnpy1.8\api\ksgold\vnksgoldtd\x64\Release\vnksgoldtd.pyd : fatal error LNK1120: 1 个无法解析的外部命令
1>已完成生成项目“vnksgoldtd.vcxproj”的操作 - 失败。
========== 全部重新生成: 成功 0 个,失败 1 个,跳过 0 个 ==========
Administrator
avatar
加入于:
帖子: 4502
声望: 322

金仕达黄金接口API目前是32位的(64位的VN Studio无法运行),所以请自行安装Python 3.7 32位的环境后,手动安装vn.py使用

Member
avatar
加入于:
帖子: 6
声望: 0

用Python的交易员 wrote:

金仕达黄金接口API目前是32位的(64位的VN Studio无法运行),所以请自行安装Python 3.7 32位的环境后,手动安装vn.py使用

哦 原来是这样。多谢!

Member
avatar
加入于:
帖子: 10
声望: 0

那么,飞鼠黄金接口API目前是32位的(64位的VN Studio无法运行),所以请自行安装Python 3.7 32位的环境后,手动安装vn.py使用,也是这样处理了

Member
avatar
加入于:
帖子: 4727
声望: 287

可以自己试试看

Member
avatar
加入于:
帖子: 10
声望: 0

金仕达金交所的,看接口文档,跟之前版本差异挺大。群主开源的,我试了,登不了了。注册服务器,原来的 RegisterFront换成了RegisterServer,联系金仕达,原来的RegisterFront不能用了

Member
avatar
加入于:
帖子: 4727
声望: 287

那可能就需要自己看着改了

Member
avatar
加入于:
帖子: 10
声望: 0

必须要重新编译才行了

© 2015-2022 上海韦纳软件科技有限公司
备案服务号:沪ICP备18006526号

沪公网安备 31011502017034号

【用户协议】
【隐私政策】
【免责条款】