| HALCON11导出与VC6配置 1.HALCON11导出代码生成C语言源文件
 在HALCON11中打开一例程或编写一项目后,要导出代码在VC6中使用;
 在菜单栏上:文件-》导出。弹出对话框设置如图
 
 
 HALCON11代码导出与VC6配置   在指定的目录就会多出刚生成的.CPP类型的源文件;
 2.VC6配置及使用代码
 上一步导出的是基于WIN32控制台应用程序,可直接建立一空的控制台程序,添加上面的文件到工程就可编译运行,会发现有很多错误出现;
 所以 编译前还得进行VC6的配置,也就是要设置HALCON的头文件,链接文件目录:
 菜单栏 à工程-》设置;弹出对话框;()
 C/C++标签页下à 分类选择 预处理器,定位到 附加包含路径 编辑框中;具体也可参照下图
 
 
   在上面的位置里添加如下代码
 $(HALCONROOT)\include,$(HALCONROOT)\include\halconcpp
 用于包含HALCON11的头文件目录;
 HALCONROOT为HALCON安装时创建的系统变量 ,其值就为HALCON11的安装目录,如d:\Program Files\MVTec\HALCON-11.0; 其值的具体查看位置,在WIN7为:
 桌面上,我的电脑图标上,鼠标右键选择属性;
 弹出对话框左上角,点击高级系统设置;
 再弹出对话框,选择高级标签页,点击环境变量,在系统变量分类里就可找到;
 
 链接库目录的设置类似,在VC6中,菜单栏 à工程-》设置;弹出对话框;
 链接标签页下à 分类选择 输入,定位到 附加库路径 编辑框中;具体也可参照下图
 
 
 
 HALCON11代码导出与VC6配置   
 在上面的位置里添加如下代码
 $(HALCONROOT)/lib/$(HALCONARCH)
 HALCONARCH也是系统环境变量,其值为x86sse2-win32,就安装目录下的一子文件夹
 最后在上图,对象/库模块中,添加halconcpp.lib,进行使用这个链接库
 这样整个项目就可编译运行
 
 3.上面介绍的是WIN32控制台上的设置,且设置仅对当前工程有效,下面在建立基于MFC的框架,且配置对其他工程也长效;
 1>新寻MFC单文档程序,在预编译头文件StdAfx.h包含HALCON头文件及链接库文件(可从导出的文件中复制使用)
 #ifndef __APPLE__
 #  include "HalconCpp.h"
 #else
 #  ifndef HC_LARGE_IMAGES
 #    include <HALCONCpp/HalconCpp.h>
 #  else
 #    include <HALCONCppxl/HalconCpp.h>
 #  endif
 #endif
 using namespace HalconCpp;
 #pragma comment(lib,"halconcpp.lib")//为自己额外手工添加包含进链接库文件
 2>在VC6 菜单栏上,工具->选项;弹出对话框,目录标签页下,目录里选择include files 选项,之后设置HALCON的头文件路径,如图
 
 
 HALCON11代码导出与VC6配置   
 目录里选择 Library files选项,进行HALCON链接库目录的设置,如图
 
 HALCON11代码导出与VC6配置   
 1.全部设置完成之后就可复制事先从HALCON导出的代码,进行编译使用,可能会出现与WIN32函数名重复,编译不通过的情况,错误函数前可加上HALCON的作用域标识符HalconCpp::
 例如编译代码CloseWindow(HDevWindowStack:
  op());会出现函数不带一个参数的错误,这是因为编译器将此函数看作为SDK中的成员函数(SDK内的此函数带两个参数); 所以可以在此函数前加上HALCCON的作用域便可,
 如HalconCpp::CloseWindow(HDevWindowStack:
  op()); 
 2.如有下面报错error C2485: 'deprecated' : unrecognized extended attribute
 error C2059: syntax error : '('
 可以包含头文件前面添加
 #define HC_NO_LEGACY_WARNING
 
 文章介绍的两方法在VC6上验证通过!
 
 
 
 
 |