首页 > 代码库 > HalconMFC(一)之多版本配置

HalconMFC(一)之多版本配置

      今天比较匆忙,还得写周六日考试扯P的PPT,就先这样开个头吧。我的电脑是win7,32位的系统,我用Halcon10.0。但是很多小伙伴的都是64位系统的,所以我用小伙伴的64位系统试过很多次用VC配置Halcon但是一直没成功,后来百度里面找相关错误,终于知道了原来Halcon没64位库,我得出的结论是64位环境下不能配置。可能很多人都在想我可以在64位的电脑上安装Halcon,为什么不可以配置呢?但事实就是这样,我在win7上先后用VC6.0绿色版,VC6.0企业版,VS2008和VS2010最后的出的错误都是一样的。于是我换用虚拟机Vmware里面的winxp的32位系统配置,最后成功了。下面是我的过程:

      前言:Halcon中的/和\是有区别的,但是VC6.0中的好像没差别,这点我实验过。

1、Project菜单->Settings->Link,在Category下拉菜单下选择General(常规),在此属性页中的Object/library modules下面添加halconcpp.lib静态库。 (主需要键入就可以了)

2、 Project菜单->Settings->Link,在Category下拉菜单下选择Input,在此属性页中的Additional library path下面添加$(HALCONROOT)\lib\$(HALCONARCH)路径。

3、 Project菜单->Settings->C/C++,在Category下拉菜单下选择Preprocessor(预处理器),在此属性页中的Additional include directories下添加$(HALCONROOT)\include,$(HALCONROOT)\include\cpp

这里“$”是绝对引用的意思。无论你的halcon装在哪个盘的目录下,均可通过这个绝对引用来导入路径。

方案二(VS2008)

第一步:项目-》属性-》C++-》常规选项中,附加包目录下添加halcon头文件的路径

由于不清楚路径怎么搞得,所以我使用了两种路径方法:

E:\Program Files\MVTec\HALCON-10.0\include\cpp

E:\ProgramFiles\MVTec\HALCON-10.0\include

 

$(HALCONROOT)\include

$(HALCONROOT)\include\cpp

第二步:项目-》属性-》链接器  常规选项中,附加库目录中添加halcon的库路径

如:E:\Program Files\MVTec\HALCON-10.0\lib\x86-win32

第三步:项目-》属性-》链接器    -》输入项中,附加依赖项中添加“halconcpp.lib”

方法三(VC2010)这是黑土视频里面的文档

1. 新建一个MFC项目。

2. 在[项目属性]->[配置属性]->[C/C++]->[常规]->[附加包含目录]中添加包含路径:$(HALCONROOT)\include;$(HALCONROOT)\include\halconcpp;

如果使用的halcon版本是10.0以前的(包括10.0的),则这里的路径应为

$(HALCONROOT)\include;$(HALCONROOT)\include\cpp;

 

HalconC++编程(1)——vc中添加halcon库文件多版本、方案 - Halcon机器视觉 - Halcon入门指导
 

3. 在[项目属性]->[配置属性]->[链接器]->[常规]->[添加库目录]中添加库路径:

$(HALCONROOT)\lib\$(HALCONARCH);

然后在[项目属性]->[配置属性]->[链接器]->[输入->[添加依赖项]中添加库

halconcpp.lib;

 

HalconC++编程(1)——vc中添加halcon库文件多版本、方案 - Halcon机器视觉 - Halcon入门指导
 

 

HalconC++编程(1)——vc中添加halcon库文件多版本、方案 - Halcon机器视觉 - Halcon入门指导
 

4. 在头文件中添加语句:

#include”halconcpp.h”

那么,你会发现在项目的解决方案视图下,[外部依赖项]文件夹中已经出现了很多和halcon相关的头文件。

5. 添加名空间。你可以通过3种方式添加名空间。

1)在每个函数和变量前加前缀

HalconCpp::HObject original_image, smoothed_image;

HalconCpp::ReadImage(&original_image, "monkey");

2)在函数开始位置添加

int main(int argc, char *argv[]){ 

using namespace HalconCpp; 

HObject original_image, smoothed_image; 

ReadImage(&original_image, "monkey"); 

}

3)全局添加

 

#include "HalconCpp.h" 

using namespace HalconCpp;

6. 至此,编程环境已配置完毕,接下来就是如何调用halcon函数,

HALCON/C++ 接口提供了两种途径来调用HALCON算法,一种是函数调用,一种是类的调用。