Halcon学习(四) 导出C++代码,在VS2010下编译

Halcon中除了依赖于HDevelop平台的操作,其他算子都支持了C++语言接口,比如:
read_image()算子:
这里写图片描述
而dev_display()则没有C++的接口:
这里写图片描述

我们使用Halcon导出一个简单的功能算子:
在HDevelop中只添加read_image (Image, 'fabrik')一行代码,选择“文件”–“导出”,在“导出”窗口中选择导出文件的格式(C++ - HALCON/C++)并选择导出路径:
这里写图片描述

这样在路径下我们会看到一个.cpp文件:
这里写图片描述

这个文件中,功能已经被定义到了action()函数中,所以我们需要的也只是该函数中的内容:

void action()
{
  // Local iconic variables
  HObject  ho_Image;
  ReadImage(&ho_Image, "fabrik");
}

可以看到,这个函数中调用的其实就是HDevelop帮助文档中read_image (Image, 'fabrik')算子的C++接口。

我们使用VS2010测试这个导出的函数,新建一个工程并添加一个空的文件,在Halcon导出的cpp文件中摘录如下代码:

#ifndef __APPLE__
#  include "HalconCpp.h"
#  include "HDevThread.h"
#  if defined(__linux__) && !defined(NO_EXPORT_APP_MAIN)
#    include <X11/Xlib.h>
#  endif
#else
#  ifndef HC_LARGE_IMAGES
#    include <HALCONCpp/HalconCpp.h>
#    include <HALCONCpp/HDevThread.h>
#  else
#    include <HALCONCppxl/HalconCpp.h>
#    include <HALCONCppxl/HDevThread.h>
#  endif
#  include <stdio.h>
#  include <HALCON/HpThread.h>
#  include <CoreFoundation/CFRunLoop.h>
#endif

using namespace HalconCpp;
using namespace std;

int main()
{
	HObject  ho_Image;
	ReadImage(&ho_Image, "1.jpg");
    return 0;
}

设置VS2010

1.注意Halcon版本与VS2010中的应用程序对应
如果Halcon是64位的,那么其对应的lib同样是64位,这是选择Win32程序的话会导致无法加载库,所以我们需要想VS2010中的Win32改成X64。
这里写图片描述

2.引入必要的头文件
在(项目属性)–(配置属性)–(C/C++)–(常规)–“附加包含目录”中添加路径:

$(HALCONROOT)/include
$(HALCONROOT)/include/halconcpp

这里写图片描述

3.包含库路径
在(项目属性)–(配置属性)–(链接器)–(常规)–“附加库目录”中添加库路径:

 $(HALCONROOT)/lib/$(HALCONARCH)

这里写图片描述

4.添加库
在(项目属性)–(配置属性)–(链接器)–(输入)–“附加依赖项”中添加库:

halconcpp.lib

这里写图片描述

5.添加dll文件
将缺少的dll文件放进工程目录源文件所在的位置。Halcon的dll文件在*****\bin\x64-win64路径下。

  • 13
    点赞
  • 51
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值