环境配置:
项目背景:
在 Visual Studio 2022 这款IDE上配置Halcon环境方便直接使用VS进行编程。
项目环境配置
环境背景介绍:
编辑器/库 | 版本 |
---|---|
VisualStudio | 2022 |
Halcon | 20.11 |
-
VisualStudio2022安装
Visual Studio官网下载链接
点击社区版免费下载,一键安装即可。 -
Halcon安装
-
环境变量配置
-
输入“windows键+R”,打开运行框。
-
在运行框输入命令 control system。
-
在打开的系统信息界面中,选择左边菜单中的“高级系统设置”。
-
在打开的系统属性窗口中选择下方的“环境变量”按钮。
-
点击环境变量
-
找打Path,双击。
点击新建,将C:\Program Files\MVTec\HALCON-20.11-Steady\bin\x64-win64,添加到变量中。
如果你的路径不是这个,将对应路径下的bin\x64-win64目录,添加至其中。
- VisualStudio2022配置HDevelop 20.11 Steady - MVTec HALCON
打开Project1.sln项目文件。
新建文本文档,将以下代码复制到文本文档,并且进行重命名。
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Label="PropertySheets" />
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<IncludePath>C:\Program Files\MVTec\HALCON-20.11-Steady\include\halconcpp;C:\Program Files\MVTec\HALCON-20.11-Steady\include;$(IncludePath)</IncludePath>
<LibraryPath>C:\Program Files\MVTec\HALCON-20.11-Steady\lib\x64-win64;$(LibraryPath)</LibraryPath>
</PropertyGroup>
<ItemDefinitionGroup>
<ClCompile>
<AdditionalIncludeDirectories>$(HALCONROOT)/include/halconcpp;$(HALCONROOT)/include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
<AdditionalLibraryDirectories>$(HALCONROOT)\lib\$(HALCONARCH);%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<AdditionalDependencies>halconcpp.lib;hdevenginecpp.lib;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemGroup />
</Project>
点击确定即可,重命名这个文件名为:HalconSheet.props。
注意:HalconSheet.props,前面的HalconSheet可以随意更改,文件后缀名要为 .props
找到视图,其他窗口,属性管理器。
展开小三角,右键,添加现有属性页,属性页为刚才重命名的HalconSheet.props文件;
注意:这里配置的是Debug | x64环境,下面箭头这要要匹配,如果你想配置其他,要稍加修改,添加到你想配置的文件夹下。
- 一个示例项目代码。
#include <iostream>
#include "HalconCpp.h"
using namespace HalconCpp;
int main()
{
// Local iconic variables
HObject ho_Image;
// Local control variables
HTuple hv_Width, hv_Height, hv_WindowHandle;
if (HDevWindowStack::IsOpen())
CloseWindow(HDevWindowStack::Pop());
ReadImage(&ho_Image, "printer_chip/printer_chip_01");
GetImageSize(ho_Image, &hv_Width, &hv_Height);
SetWindowAttr("background_color", "black");
OpenWindow(0, 0, hv_Width, hv_Height, 0, "visible", "", &hv_WindowHandle);
HDevWindowStack::Push(hv_WindowHandle);
SetPart(hv_WindowHandle, 0, 0, -1, -1);
if (HDevWindowStack::IsOpen())
DispObj(ho_Image, HDevWindowStack::GetActive());
}
运行效果:
-
编译输出:
-
控制台