WIN10 64位下VS2015 MFC直接添加 halcon 12的CPP文件实现视觉检测

近段时间开始接触halcon,但是在VS2015里面使用,无论是配置还是生产EXE文件,都不如意。

加上网上的教程很多,经过多次测试,其实有很多地方无需修改,如果修改的太多也失去了直接添加封装的意义。

我的环境为 WIN10 64位 halcon12 用64位到处C++ 文件,VS2015免费共享版。

(如果要生成32位的话,需要halcon12 用32位程序  导出C++,并且需要把VC切换为X86平台,

库目录改为 C:\Program Files\MVTec\HALCON-12.0\lib\x86sse2-win32;

配置的第五部,项目属性 -- 配置属性 -- 链接器 -- 输入 -- 附加依赖项 -- 添加 halconcpp.lib,

这里的halconcpp.lib,需要改为C:\Program Files\MVTec\HALCON-12.0\lib\x86sse2-win32\halconcpp.lib

其它地方和64位相同。)

下面开始:

一、VS2015方面

1、先生成一个MFC对话框程序,步骤略。(我得工程名称为:TMD视觉检测)

VS配置:

2、先在配置管理器,把平台改为X64,因为修改这里的时候,下面的所有设置都会恢复默认。所有最好先设置这里。


3、项目属性 -- 配置属性 -- VC++目录 -- 包含目录 -- 添加 $(HALCONROOT)\include;$(HALCONROOT)\include\halconcpp;


4、项目属性 -- 配置属性 -- VC++目录 -- 库目录 -- 添加 $(HALCONROOT)\lib\$(HALCONARCH);

(图同上)
5、项目属性 -- 配置属性 -- 链接器 -- 输入 -- 附加依赖项 -- 添加 halconcpp.lib

配置完毕!

二、实际操作部分:

1、halcon导出C++文件,切记用64位导出,我导出的文件名为:VCDemo64.cpp

2、添加CPP到VS,在资源管理器中,源文件 -- 右键 -- 添加 -- 现有项 -- 找到上一部导出的halcon CPP文件

3、新建头文件hh.h  ,资源管理器 -- 头文件 -- 添加 -- 新建项 -- 选择头文件 -- 命名为hh.h (随便)

hh.h 添加内容:

#pragma once
#ifndef MY_FILE_H_
#define MY_FILE_H_

void action();

#endif

4、修改对话框Dlg CPP文件,

添加头文件及空间(如下图):

#  include "HalconCpp.h"
# include "hh.h"
using namespace HalconCpp;

5、修改halcon CPP 文件 VCDemo64.cpp,

在最顶部添加头文件:

#include "stdafx.h"

截止到此,重新生成解决方案,可编译成功。

三、添加按钮激活。

1、在VS 窗体对话框中 添加 按钮

在按钮事件代码中,添加后如下:(此段代码为halcon导出的CPP主函数段)

void CTMD视觉检测Dlg::OnBnClickedButton1()
{
    // TODO: 在此添加控件通知处理程序代码

    SetSystem("width", 512);
    SetSystem("height", 512);

#if defined(_WIN32)
    SetSystem("use_window_thread", "true");
#elif defined(__linux__)
    XInitThreads();
#endif

#ifndef __APPLE__
    action();
#else
    ret = apple_main(argc, argv);
#endif
    return;
}

上面你复制过来的时候,return 会报警,删掉即可。

重新生成解决方案,编译成功,运行,点击按钮,如下图:(产品就不显示了)

 

未完待续。

 

posted @ 2016-05-12 15:34  TMD睡觉  阅读(5423)  评论(0编辑  收藏  举报