未能获得项目引用的依赖项_数控采集003:华中数控二次开发项目搭建及环境配置...

第一次开发这里我们先来创建一个简单的控制台应用程序,打开Visual Studio在菜单栏点击文件-->新建-->项目,在弹出新建项目对话框中找到已安装模板-->Visual C++-->Win32项目,点选“控制台应用程序”即可创建一个控制台项目。

a2c7bba036dc12d8b2d716d5ec43b26e.png

引入头文件

在【解决方案管理器】视图中右键选择工程-->属性-->配置属性-->C/C++-->常规,在右边“附加包含目录”中加入hncsdk_V1.31.00的头文件路径。hncsdk_V1.31.00的头文件放在..hncsdk_V1.31.00libC++include目录中,这样在项目的“外部依赖项”中就会自动载入hncsdk_V1.31.00中的头文件。

a3c825cfd52288f21b0f6b70db0681ca.png

附加库目录

头文件只是对功能函数接口的对外申明,并不具备实际的函数实体,它是程序调用的桥梁,要实现头文件中的函数就必要引入相应的lib文件库。这样用户只需要按照头文件中的接口声明来调用库功能,而不必关心接口怎么实现的。该编译器会从库中提取相应的代码,以此来达到保护源码不外漏的作用。同样在【解决方案管理器】视图中右键选择工程-->属性>配置属性->链接器->常规,在右边“附加库目录”中添加hncsdk_V1.31.00的lib库文件路径。

12eec461d73b8ecccb3c23a3a5f79a1d.png

加载lib文件库

附加库目录指定了lib文件库所在的目录,接下来我们还要告诉编译器具体的lib文件库。在【解决方案管理器】视图中右键点击选择工程-->属性->配置属性->链接器->输入,在右边“附加依赖项”中添加具体的lib文件库名,这里我们主要用到了HncNetDllForCpp.lib文件库。

fff88fe3edd7c0efa4f8707ea080ceba.png

错误:该符号在函数main中被引用

LNK2019 无法解析的外部符号 "__declspec(dllimport) public: __cdecl HncApi::HncApi(void)" (__imp_??0HncApi@@QEAA@XZ),该符号在函数 main 中被引用,这种错误大多是找不到相应的库文件,但是检查自己的项目属性及链接器配置都没有问题,最后通过在Demo发现有添加预处理命令。于是我也在添加头文件处添加预处理指令#pragma comment( lib, "ws2_32.lib"),添加后程序编译成功。ws2_32.lib是Windows Sockets应用程序的接口,用于支持Internet和网络的应用程序。

2444c0be567cbd0dd46c8b58dc67dde7.png

入门示例:初始化连接

现在我们开始使用接口文档了,通过接口文档我们可以知道使用HNC_NetConnect函数连接之前必须先调用HNC_NetInit函数先初始化网络。HNC_NetInit函数原型为Bit32 HncApi::HNC_NetInit (const Bit8 *ip, uBit16 port, const Bit8 *name),支持重装Bit32 HncApi::HNC_NetInit (const string &ip, uBit16 port, const string &name)。直接在main函数中实例化HncApi来调用HNC_NetInit接口初始化网络,这里IP为上位机本地IP(连接的是适配器上配置的ip和端口)。返回值为0则表示网络初始化成功,返回值为-1则表示网络初始化失败。

c44a317737c0c53d31a27dd11e42e8fa.png

总结:

这是C++项目搭建的通用方法,引入必要的头文件和链接库。以上内容是小编给大家分享的【数控采集003:华中数控二次开发项目搭建及环境配置】,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。更多数据采集技巧可以参考专栏:

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值