C++开发人脸性别识别教程(2)——VisualStudio初探

2024-08-28 18:18

本文主要是介绍C++开发人脸性别识别教程(2)——VisualStudio初探,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  上一篇教程中已经大致描述了项目的最终效果,考虑到读者中有很多零基础的同学,我们这里并不急于进行代码的编写,而是先简要介绍下所用到的开发工具——VisualStudio2012。

  VisualStudio是微软推出的非常强大的开发软件,在C++开发领域可谓占据了半壁江山。VisualStudio经典版本主要有2005、2008、2010、2012、2013、2015等版本。2005和2008现在已经稍显过时,现在应用已经不太广泛。目前2010、2012、2013是目前较为流行的版本,免费版本也相对容易找到。2015是最新发布的版本,文件较大(大约5个G),对硬件要求相对苛刻一点,并且不容易找到免费版本。这里推荐使用VS2012版本,原因有两个:一是VS2012版本还不算过时,而且界面相比08、10版本更为友好;二是VS2012支持一个重要的OpenCv插件:ImageWatch。

  一、启动VS2012

  这里假设已经安装了VS2012并破解完成,相关的安装教程网上有很多资源,大家如果有疑问的话可以在下方留言,有必要的话我会上传相关的安装文件以及破解方法。

双击快捷方式(开始菜单栏、桌面快捷方式、任务栏中的快速启动图标均可),首次启动会提示选择编程语言种类,这里选择C++即可(可能需要几分钟的初始化时间)。

  接下来进入开始界面:

 

  二、基本设置 

  1、主题设置

  首先,VS2012默认提供两种主题,深色和浅色。通过“工具—>选项”主菜单命令打开设置对话框,展开“环境”节点,在“常规”设置界面中进行设置:

  2、窗口布局

  观察当前VS所显示的窗口布局,推荐大家将VS的界面调整为这种格式,方便编写程序。

  首先在窗口的右侧显示三个编辑窗口,分别为解决方案资源管理器、类视图、资源视图:

 

  这三个窗口将以三种模式来显示当前的工程结构,这里我们打开工程文件,对这三个窗口进行详细介绍。Ctrl+O,弹出打开工程对话框,选择对应的project文件:

  在解决方案管理器窗口中,将以头文件和源文件的形式显示工程目录:

 

  在类视图窗口中,将显示当前程序工程中的所有类结构:

 

  在资源视图窗口中,显示当前工程所用到的所有资源,包括图片、对话框、字符串表等:

 

  一般在创建、添加文件时使用解决方案资源管理器;在编写代码(尤其是大型的、面向对象的代码工程)使用类视图,方便定位相应的类以及成员函数;在资源视图中完成MFC界面设置以及相关资源的查找引用等。

  3、基本操作

  这里简单的介绍一些VS2012在编写代码过程中的常用操作,这里主要介绍快捷键,当然相应的功能也可以通过主菜单栏的菜单命令和快捷菜单命令来完成。

  (1)拼写提示

  VS一个非常让人舒服的功能就是在敲代码时提供了拼写提示的功能,这也是高级IDE必备的功能之一,在你输入代码的过程中,VS会自动根据你当前输入的情况给出提示信息:

  (2)编译链接

  按下F7,VS会对当前代码进行编译并链接相关库文件。

  (3)调试

  如果编译顺利通过,就可以进行调试。在调试之前需要先设置断点(当然不设置也可以)。VS设置断点的方法有三种:菜单、快捷键、鼠标单击左槽。这里推荐使用快捷键。将光标定位在指定行,按下F9设置断点:

  这里介绍一个取消所有断点的快捷键组合:ctrl+shift+F9。

  断点设置完成后,按下F5,程序开始调试,并在命中断点后暂时挂起。

  (4)运行

  调试通过后,按下ctrl+F5运行程序即可。

  三、注意事项

  1、MFC相关知识

  这个项目在开发过程中用到了大量的MFC编程,这在以后使用过程中在详细介绍,需要说的是MFC空间的操作都通过工具箱窗口进行,这里通过“视图—>工具箱”命令调出工具箱窗口,并将其置于窗口右侧即可:

 

  2、调试器的版本问题

  这里我的电脑是用的64位,而VS在调试是默认为win32:

 

  考虑到我们之后要配置的opencv是64位的,一些底层的编译环境(如g++等)也是64位的,因此这里建议换成64位的调试器:单击“Win32”右侧的下拉箭头,选择配置管理器:

 

  在弹出的窗口中,单击下拉箭头,选择新建:

  在弹出窗口中选择X64:

 

  注意左侧生成栏下面的对话框需要勾选。单击确定,关闭当前窗口。此时再次单击“Win32”右侧的下拉箭头,发现其中多了一个X64的选项,选中即可。

  四、总结

  这篇教程总结了VS2012的一些基本操作和注意事项,帮助之前零基础的朋友快速入门,更多有关VS2012的相关配置大家可以参考网上资源。在下一篇教程中我们将会简要介绍OpenCv在VS2012中的配置以及插件ImageWatch的使用。

这篇关于C++开发人脸性别识别教程(2)——VisualStudio初探的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1115520

相关文章

Agent开发核心技术解析以及现代Agent架构设计

《Agent开发核心技术解析以及现代Agent架构设计》在人工智能领域,Agent并非一个全新的概念,但在大模型时代,它被赋予了全新的生命力,简单来说,Agent是一个能够自主感知环境、理解任务、制定... 目录一、回归本源:到底什么是Agent?二、核心链路拆解:Agent的"大脑"与"四肢"1. 规划模

C++ move 的作用详解及陷阱最佳实践

《C++move的作用详解及陷阱最佳实践》文章详细介绍了C++中的`std::move`函数的作用,包括为什么需要它、它的本质、典型使用场景、以及一些常见陷阱和最佳实践,感兴趣的朋友跟随小编一起看... 目录C++ move 的作用详解一、一句话总结二、为什么需要 move?C++98/03 的痛点⚡C++

JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)

《JavaWeb项目创建、部署、连接数据库保姆级教程(tomcat)》:本文主要介绍如何在IntelliJIDEA2020.1中创建和部署一个JavaWeb项目,包括创建项目、配置Tomcat服务... 目录简介:一、创建项目二、tomcat部署1、将tomcat解压在一个自己找得到路径2、在idea中添加

详解C++ 存储二进制数据容器的几种方法

《详解C++存储二进制数据容器的几种方法》本文主要介绍了详解C++存储二进制数据容器,包括std::vector、std::array、std::string、std::bitset和std::ve... 目录1.std::vector<uint8_t>(最常用)特点:适用场景:示例:2.std::arra

C++构造函数中explicit详解

《C++构造函数中explicit详解》explicit关键字用于修饰单参数构造函数或可以看作单参数的构造函数,阻止编译器进行隐式类型转换或拷贝初始化,本文就来介绍explicit的使用,感兴趣的可以... 目录1. 什么是explicit2. 隐式转换的问题3.explicit的使用示例基本用法多参数构造

Java使用Spire.Barcode for Java实现条形码生成与识别

《Java使用Spire.BarcodeforJava实现条形码生成与识别》在现代商业和技术领域,条形码无处不在,本教程将引导您深入了解如何在您的Java项目中利用Spire.Barcodefor... 目录1. Spire.Barcode for Java 简介与环境配置2. 使用 Spire.Barco

C++,C#,Rust,Go,Java,Python,JavaScript的性能对比全面讲解

《C++,C#,Rust,Go,Java,Python,JavaScript的性能对比全面讲解》:本文主要介绍C++,C#,Rust,Go,Java,Python,JavaScript性能对比全面... 目录编程语言性能对比、核心优势与最佳使用场景性能对比表格C++C#RustGoJavapythonjav

C++打印 vector的几种方法小结

《C++打印vector的几种方法小结》本文介绍了C++中遍历vector的几种方法,包括使用迭代器、auto关键字、typedef、计数器以及C++11引入的范围基础循环,具有一定的参考价值,感兴... 目录1. 使用迭代器2. 使用 auto (C++11) / typedef / type alias

Python + Streamlit项目部署方案超详细教程(非Docker版)

《Python+Streamlit项目部署方案超详细教程(非Docker版)》Streamlit是一款强大的Python框架,专为机器学习及数据可视化打造,:本文主要介绍Python+St... 目录一、针对 Alibaba Cloud linux/Centos 系统的完整部署方案1. 服务器基础配置(阿里

Python+wxPython开发一个文件属性比对工具

《Python+wxPython开发一个文件属性比对工具》在日常的文件管理工作中,我们经常会遇到同一个文件存在多个版本,或者需要验证备份文件与源文件是否一致,下面我们就来看看如何使用wxPython模... 目录引言项目背景与需求应用场景核心需求运行结果技术选型程序设计界面布局核心功能模块关键代码解析文件大