cmake生成VTK库类的visual studio 2010 MFC工程
- 格式:docx
- 大小:18.35 KB
- 文档页数:5
一\安装需要材料软件:最新VTK、cmake、VS2010二\1在Cmake里面配置时,选择好SCR和BIN路径,然后按configure配置,直到出现红色选项。
2选择Advance后,一般的选项设置默认,修改VTK-USE-PARALLEL以及设置好VTKData和VTKLARGEData的路径,后者路径为前者路径的子文件Data。
一定要多试configure直到没有红色选项,才选择Generalte。
3当然配置好后不会是红色的。
cmake 可以反复编译不用害怕出现错误。
还有就是要注意vtk_data_root 选项和cmake_install_prefix 选项的配置。
(1)vtk_data_root:一般地,cmake 可以自己找到vtkdata 的路径,但如果没有,把c:\vtk\vtkdata\这里是我上面所讲的两种不同安装方法的data 路径这里不再反复说明。
目的是告诉cmake,vtk 需要的数据都在哪里。
(2)cmake_install_prefix: 这个比较重要,就是以后要安装vtk 的路径。
上面两种例子的安装路径是:c:\vtk(c:vtk5.0)。
有些人又要问,我编译完了不就可以用vtk 了吗,为什么还要安装?对,不安装其实可以,安装的好处就是可以从1G 多的文件中提取出.h .lib .dll 等精华,安装在指定目录下,并修改系统环境变量。
这里再把部分选项的作用做一下说明虽然好多再网上可以找到但为了方便起见还是给大家列了出来。
build_examples: 就是询问是否编译vtk 中的例子,如选则on,就要花时间把vtk 的例子编译一遍。
build_testing: test code 就是vtk 开发者用来测试vtk 代码的一些测试代码,我们常常把它们当成学习vtk 的例子,与build_examples 类似,是否编译他们,看个人喜好。
build_shared_libs: 如果设置为off,就只会生成lib 文件,用于开发肯定是够了。
VS2010-MFC编程入门之前言鸡啄米的C++编程入门系列给大家讲了C++的编程入门知识,大家对C++语言在语法和设计思想上应该有了一定的了解了。
但是教程中讲的例子只是一个个简单的例程,并没有可视化窗口。
鸡啄米在这套VS2010/MFC编程入门教程中将会给大家讲解怎样使用VS2010进行可视化编程,也就是基于窗口的程序。
C++编程入门系列主要偏重于理论方面的知识,目的是让大家打好底子,练好内功,在使用VC++编程时不至于丈二和尚摸不着头脑。
本套教程也会涉及到VC++的原理性的东西,同样更重视实用性,让大家学完本套教程以后,基本的界面程序都能很容易编写出来。
VC++简介VC++全称是Visual C++,是由微软提供的C++开发工具,它与C++的根本区别就在于,C++是语言,而VC++是用C++语言编写程序的工具平台。
VC++不仅是一个编译器更是一个集成开发环境,包括编辑器、调试器和编译器等,一般它包含在Visual Studio中。
Visual Studio包含了VB、VC++、C#等编译环境。
当然我们在使用VC++ 6.0的时候为了轻便,总是只单独安装VC++ 6.0。
但自微软2002年发布Visual 以来,微软建立了在.NET 框架上的代码托管机制,一个项目可以支持多种语言开发的组件,VC++同样被扩展为支持代码托管机制的开发环境,所以.NET Framework是必须的,也就不再有VC++的独立安装程序,不过可以在安装Visual Studio时只选择VC++进行安装。
VC++版本的选择:VS2010因为VC++ 6.0以后的版本不再有独立的安装程序,所以鸡啄米在教程中将不会称VC++ 6.0以后的版本为VC++ 7.0等等,而是用VC++所属的Visual Studio的版本名称代替,比如VS2003。
近些年VC++主要的版本包括:VC++ 6.0、VS2003、VS2005、VS2008和VS2010。
建立MFC+OSG界面的说明文档打开VS2010开发环境,新建项目,选择MFC---MFC应用程序,这里项目名称为osgmfc,如下图:点击确定,出现如下界面:点击下一步应用程序类型选择单文档点击下一步默认设置,点击下一步默认设置,点击下一步默认设置,点击下一步默认设置,点击下一步去掉控件前面的勾,此处osg不需要用到点击完成,生成MFC的框架,如下:在编译后的OSG源文件里面,找到这个文件夹,将目录下,并相应的添加进工程。
如下图:在stdafx.h中添加#include <process.h>,如下图:在view的头文件中加入下面的语句#include "MFC_OSG.h"cOSG *mOSG;HANDLE mThreadHandle;如下图所示:这里,切换到类视图,如下在view类中(这里是CosgmfcView)添加WM_CREATE的消息响应,右键点击CosgmfcView,出现属性设置框,如下图:重写OnInitialUpdate函数,如下图在osgmfcView.cpp文件当中出现以下代码:按下图添加代码:最后,加入必要的库,如下图:编译,运行。
如果出现以下错误:1>c:\documents and settings\administrator\桌面\osgmfc\osgmfc\mfc_osg.cpp(153) : error C2665: “AfxMessageBox”: 2 个重载中没有一个可以转换所有参数类型,可定位到AfxMessageBox("Exit Rendering Thread");,将其注释掉编译成功,运行效果如下:成功建立MFC+OSG开发环境!。
VTK亲手安装过程目录VTK亲手安装过程 (1)写在前面 (2)Windows XP 平台下利用cmake2.4配置VC6.0和VTK开发环境图文教程 (2)1,安装VC6.0。
(2)2,下载VTK相关文件 (2)3,安装cmake (3)4,解压VTK相关文件 (3)5,运行cmake。
(3)6,VC环境设置 (7)7,试一下。
(8)8,刚才只是运行VTK自带的例子,对于自己编写的工程,还需要做如下配置。
注意,此步骤和第九步结合进行。
(8)9,验证。
(9)我在Windows7下安装过程 (10)写在前面我安装VTK花费了好多时间,由于是新手,走了很多弯路。
把我的安装过程贴出来,是希望其他朋友们少兜圈子,节省时间。
由于什么都不知道,在网上找了许多VTK的资料,因为我最习惯用VC++6.0,所以都是VC++6.0下的。
VTK官网上能够下载到的最低版本是vtk 5.4.2,没有教程上说的vtk-5.0.0,只好下载了已有的vtk 5.4、vtk 5.6、vtk 5.8,经过实验,在VC++6.0下没有成功,每次在最后编译的时候出问题。
估计这些高级的版本都不能在VC6.0上用,毕竟VC++6.0也是98年的,现在都2012年了,又或者有高手能够弄出来,麻烦分享一下,就在百度文库了。
先把网上找的XP系统下vtk5.0版本的安装教程加进来,以便有人用上。
Windows XP 平台下利用cmake2.4配置VC6.0和VTK开发环境图文教程由于自己在参考网上教程进行VTK配置时出现了一些小问题,决定做一个图文并茂的教程出来。
主要参考了DIY部落的VTK安装配置教程( DIY部落>> c/c++ >> C++实例教程>> 正文)1,安装VC6.0。
2,下载VTK相关文件由于选择了VC6.0开发环境,下载了较低的版本。
VTK下载地址:vtk-5.0.4.zip 源程序vtkdata-5.0.4.zip 数据下载cmake文件网址为/HTML/Download.php依然选择了版本较低的2.4.x版本。
qt-vtk-vs2010整合一、系统环境:xp(sp3)32位二、Vs2010安装1版本:旗舰版2代码助手:visual assistant x3打开vs2010:工具-选项-项目和解决方案:更改路径使其不包含中文三、qt安装1版本:4.8.62安装顺序:1)qt-opensource-windows-x86-vs2010-4.8.6.exe2) qt-vs-addin-1.1.11-opensource.exe3环境变量配置:PATH变量,添加c:\Qt\4.8.6\bin;添加QTDIR变量,c:\Qt\4.8.6。
打开之后就会看到vs工具栏中已经有了qt,如图:四、vtk1版本:cmake-2.8.12.2-win32-x86.zipvtk-5.10.1.zipvtkdata-5.10.1.zip2创建目录和解压如下:3运行:4配置source和build目录后,点击configure5选中Advanced后勾选如下:(若找不到,点击configure后会出现,先把已有的选上)BUILD_SHARED_LIBSCMAKE_INSTALL_PREFIX:配置为C:/VTKVTK_DATA_ROOT:C:/VTK/vtkdata-5.10.1/VTKData5.10.1VTK_USE_GUISUPPORTVTK_USE_QTQT_QMAKE_EXECUTABLE:C:/Qt/4.8.6/bin/qmake.exe详情见官网:/Wiki/VTK/Configure_and_Build#Qt_4.8..2A 然后点击多次configure,直到没有红框为止最后点击generate6打开:7大约半小时完成8完成后,会多出如下目录9更改模式为release重复第7步或者如下方式完成后会在C:\VTK\vtkbin\Win32\Release找到:qvtkwidgetplugin .lib和qvtkwidgetplugin .dll 将其拷到:C:\Qt\4.8.6\plugins\designer,这是打开qtdesigner会看到10VTK\bin下所有dll文件拷到:C:\Windows\system32下VTK\include\vtk-5.10下所有拷到:C:\Qt\4.8.6\includeVTK\lib\vtk-5.10 下所有拷到C:\Qt\4.8.6\lib新建qt工程会搜索qt默认目录,不然每次工程属性都要配置vtk路径四、新建工程示例1 打开vs2010,新建项目2点击finish34 编辑:附加依赖项,添加qvtk.lib一般会把已有的vtklib都添加进来:lib之间回车隔开qvtk.libvtkCommon.libvtkDICOMParser.libvtkexoIIc.lib vtkexpat.lib vtkFiltering.lib vtkfreetype.lib vtkftgl.lib vtkGenericFiltering.lib vtkGeovis.lib vtkGraphics.lib vtkHybrid.libvtkhdf5.lib vtkImaging.libvtkIO.libvtkInfovis.lib vtkjpeg.libvtklibxml2.lib vtkmetaio.lib vtkNetCDF.libvtkpng.libvtkproj4.libvtksqlite.lib vtkRendering.lib vtksys.libvtktiff.libvtkViews.lib vtkVolumeRendering.lib vtkWidgets.lib vtkzlib.lib5打开项目中:.ui6添加qvtk控件后保存7启动调试8出现Success。
首先,打开VS2010,新建一个MFC 工程,我们命名为SCommT est。
删掉原来的两个按钮和一个静态文本,在标题栏上右键属性,然后更改标题名:串口通信助手1.0 beta。
画程序的界面首先画两个组框,分别为显示区和发送区。
然后在显示区内部画一个编辑框,ID 改为IDC_EDIT_RECV。
样式更改如下:在发送区内画一个编辑框,ID 改为IDC_EDIT_SEND,样式更改如下:最后画一个发送按钮就大功告成啦!按钮ID 改为IDC_BUTTON_SEND。
插入MSComm类添加一个MScomm 控件,就是这个控件为我们完成串口通信的功能。
右键添加变量接下来添加函数首先为MSComm 控件添加一个函数OnComm,主要用于接收串口发送来的消息然后为发送按钮添加一个函数OnButtonSend,主要用于给串口发送消息。
添加的方式是双击控件,修改函数名称,确认即可。
如下两图:首先,要记住,工程中有好几个CPP 文件和H 头文件,但是我们要添加的代码,都是写在SCommT estDlg.CPP 文件中的。
//---------------------------------------------------------------------------//添加的对串口的初始化语句if(m_cComm.get_PortOpen()) //如果发现串口本来是打开的,则关闭串口m_cComm.put_PortOpen(FALSE);m_cComm.put_CommPort(1); //选择COM1端口m_cComm.put_InputMode(1); //输入方式为二进制方式m_cComm.put_InBufferSize(1024); //设置输入缓冲区m_cComm.put_OutBufferSize(512); //设置输出缓冲区m_cComm.put_Settings(TEXT("9600,n,8,1"));//波特率9600,无校验,8个数据位,1个停止位m_cComm.put_Settings(_T("9600,n,8,1"));if(!m_cComm.get_PortOpen()){m_cComm.put_PortOpen(TRUE); //打开串口m_cComm.put_RThreshold(1); //每当接收缓冲区有1个字符则接收串口数据m_cComm.put_InputLen(0); //设置当前缓冲区长度为0m_cComm.get_Input(); //预读缓冲区以清除残留数据}elseAfxMessageBox(TEXT("打开端口失败!"),MB_ICONSTOP,0);AfxMessageBox(_T("打开端口失败!"),MB_ICONSTOP,0);//---------------------------------------------------------------------------void CSCommT estDlg::OnComm(){// TODO: 在此添加命令处理程序代码//---------------------------------------------------------------------------//从串口接收数据并显示在编辑框中VARIANT variant_inp;COleSafeArray safearray_inp;long len,k;byte rxdata[512]; //设置BYTE数组CString strtemp;if(m_cComm.get_CommEvent()==2) //值为2表示接收缓冲区内有字符{variant_inp=m_cComm.get_Input(); //读缓冲区消息safearray_inp=variant_inp; ///变量转换len=safearray_inp.GetOneDimSize(); //得到有效的数据长度for(k=0;k<len;k++)safearray_inp.GetElement(&k,rxdata+k);for(k=0;k<len;k++) //将数组转换为CString型变量{char bt=*(char*)(rxdata+k); //字符型strtemp.Format(TEXT("%c"),bt); //将字符送入临时变量strtemp存放strtemp.Format(_T("%c"),bt);m_strRecvData+=strtemp; //加入接收编辑框对应字符串}}CString temp=(TEXT("\r\n")); //显示完成后要自动换行m_strRecvData+=temp;UpdateData(FALSE); //更新编辑框内容//--------------------------------------------------------------------------- }void CSCommT estDlg::OnButtonSend(){// TODO: 在此添加控件通知处理程序代码//---------------------------------------------------------------------------//单击发送按钮的操作UpdateData(true); //读取编辑框内容m_cComm.put_Output(COleVariant(m_strSendData));//发送数据m_strSendData.Empty(); //发送后清空输入框UpdateData(false); //更新编辑框内容//对发送的数据进行强制类型转换,由CString 字符串数据转换为VARIANT 类型。
window10 visual studio 中的cmake 项目-回复如何在Windows 10上使用Visual Studio创建和配置CMake项目(Visual Studio CMake Projects: A Step-by-Step Guide)引言:CMake是一种跨平台的开源构建系统,用于管理和组织C++项目的构建过程。
CMake可以生成与平台无关的构建脚本,使得开发者能够从一个源代码根目录构建多个不同平台或编译器下的项目。
Visual Studio是一种通用的集成开发环境(IDE),它提供了一整套工具和功能,方便开发者编写、调试和部署软件应用。
Visual Studio也提供了CMake的支持,并且允许我们使用CMake创建和配置项目。
在本文中,我们将向您展示如何在Windows 10上使用Visual Studio创建和配置CMake项目。
步骤一:安装和配置Visual Studio在开始之前,您需要安装并正确配置Visual Studio。
您可以从Visual Studio官方网站(Studio。
步骤二:安装和配置CMake接下来,您需要安装并配置CMake。
您可以从CMake的官方网站(步骤三:创建一个新的CMake项目1. 打开Visual Studio,并选择“创建新项目”(New Project)。
2. 在项目类型选择界面,选择“Visual C++”并选择“CMake”项目模板。
3. 在项目名称框中输入项目的名称,并选择项目的保存位置。
4. 点击“确定”以创建项目。
步骤四:配置CMake项目1. 在项目创建完成后,Visual Studio会自动打开CMakeLists.txt文件,该文件用于配置CMake项目的设置。
您可以在此文件中进行各种配置,例如指定源文件、添加依赖库等。
以下是一个简单的CMakeLists.txt文件示例:cmake_minimum_required(VERSION 3.10)project(MyProject)add_executable(MyProject main.cpp)target_include_directories(MyProject PUBLIC{PROJECT_SOURCE_DIR}/include)2. 在上述示例中,我们指定了项目的名称为"MyProject",并使用add_executable命令指定了项目的源文件为main.cpp。
VS2010/MFC编程入门之三(VS2010应用程序工程中文件的组成结构)这里将以前面的生成应用程序HelloWorld的文件结构为例,讲解VS2010应用程序工程中文件的组成结构。
用应用程序向导生成框架程序后,我们可以在之前设置的Location下看到以解决方案名命名的文件夹,此文件夹中包含了几个文件和一个以工程名命名的子文件夹,这个子文件夹中又包含了若干个文件和一个res文件夹,创建工程时的选项不同,工程文件夹下的文件可能也会有所不同。
如果已经以Debug方式编译链接过程序,则会在解决方案文件夹下和工程子文件夹下各有一个名为“Debug”的文件夹,而如果是Release方式编译则会有名为“Release”的文件夹。
这两种编译方式将产生两种不同版本的可执行程序:Debug版本和Release 版本。
Debug版本的可执行文件中包含了用于调试的信息和代码,而Release版本则没有调试信息,不能进行调试,但可执行文件比较小。
将所有文件分为6个部分:解决方案相关文件、工程相关文件、应用程序头文件和源文件、资源文件、预编译头文件和编译链接生成文件。
1.解决方案相关文件解决方案相关文件包括解决方案文件夹下的.sdf文件、.sln文件、.suo文件和ipch文件夹。
.sdf文件和ipch目录一般占用空间比较大,几十兆甚至上百兆,与智能提示、错误提示、代码恢复和团队本地仓库等相关。
如果你觉得不需要则可以设置不生成它们,方法是点击菜单栏Tools->Options,弹出Options对话框,选择左侧面板中Text Editor->C/C++->Advanced,右侧列表中第一项Disable Database由False改为True就可以了,最后关闭VS2010再删除.sdf文件和ipch目录以后就不会再产生了。
但关闭此选项以后也会有很多不便,例如写程序时的智能提示没有了。
.sln文件和.suo文件为MFC自动生成的解决方案文件,它包含当前解决方案中的工程信息,存储解决方案的设置。
visual c++2010 mfc实例Visual C++2010是一款由微软开发的集成开发环境(IDE),用于编写Windows操作系统上的应用程序。
MFC(Microsoft Foundation Classes)是Visual C++中的一个类库,它提供了一系列的类和函数,方便开发者构建Windows图形界面应用程序。
在Visual C++2010中,可以利用MFC来创建各种各样的应用程序,包括窗口应用程序、对话框应用程序、文档视图应用程序等等。
下面我们来介绍一些MFC实例,概括地展示如何使用MFC来编写Windows应用程序。
1.窗口应用程序的创建:首先,打开Visual C++2010,选择“新建项目”,在弹出的对话框中选择“Visual C++”->“MFC”->“MFC应用程序”,填写要创建的项目的名称和存储位置,点击“确定”按钮。
接下来,在“应用程序类型”选项中,选择“单文档”、“多文档”或“无文档”视图,然后在“使用的特性”选项中,选择需要的功能(如ActiveX控件等),点击“完成”按钮即可创建窗口应用程序。
2.对话框应用程序的创建:打开Visual C++2010,选择“新建项目”,在弹出的对话框中选择“Visual C++”->“MFC”->“MFC应用程序”,填写要创建的项目的名称和存储位置,点击“确定”按钮。
在接下来的对话框中,选择“对话框”作为应用程序的初始视图,点击“完成”按钮即可创建对话框应用程序。
3.消息处理:在MFC中,可以通过重写消息处理函数来响应特定的消息。
在窗口或对话框类中,可以重写相关的消息处理函数,如OnPaint、OnMouseMove等,然后在这些函数中进行相应的操作。
4.绘图操作:在MFC中,使用CDC类进行绘图操作。
可以在OnPaint函数中使用CDC对话框上的绘图设备进行绘制,也可以在自定义的函数中使用CDC类进行绘图。
visual c++2010 mfc实例MFC(Microsoft Foundation Classes)是微软公司为Windows操作系统开发的一套基于C++的编程框架,它允许开发人员使用面向对象的方式构建Windows应用程序。
在Visual C++ 2010中,MFC库得到了全面的支持,提供了丰富的工具和功能,可以快速开发Windows界面应用程序。
MFC实例的一个常见应用是创建一个基本的窗口应用程序。
下面我们来看一个简单的实例,展示如何使用Visual C++ 2010 MFC创建一个窗口应用程序。
首先,打开Visual C++ 2010,选择“新建项目”并选择“MFC应用程序”。
在下一步中,选择“对话框”作为应用程序类型,并为项目命名。
接下来,我们需要设计一个用户界面。
在MFC中,用户界面是通过对话框来实现的。
双击“resource.h”文件,打开资源编辑器。
在资源编辑器中,可以创建对话框,并在其中添加所需的控件,比如按钮、标签等。
可以使用拖放的方式将这些控件添加到对话框中,并设置它们的属性。
在窗口应用程序中,通常需要在用户点击按钮时执行某些操作。
在资源编辑器中双击某个按钮,会自动为这个按钮生成一个事件处理函数。
在这个函数中,可以编写所需的逻辑代码。
例如,可以在点击按钮时显示一个消息框,可以使用以下代码来实现:```void CMyDialog::OnButtonClick(){MessageBox(L"Hello, World!", L"提示", MB_OK);}```这个函数会在用户点击按钮时被调用,并显示一个消息框。
在完成界面设计和事件处理函数编写后,还需要修改应用程序的入口点。
打开“MainFrm.cpp”文件,找到“CMainFrame::OnCreate”函数。
在这个函数中,会创建主窗口。
可以在此处设置主窗口的标题、样式等属性。
最后,点击“生成”菜单中的“生成解决方案”选项,编译并运行应用程序。
window10 visual studio 中的cmake 项目在Windows 10上使用Visual Studio创建CMake项目在本文中,我们将一步一步地介绍如何在Windows 10中使用Visual Studio创建和配置CMake项目。
CMake是一种跨平台的开源构建工具,它允许开发者使用一个单独的配置文件来生成与平台无关的构建文件。
步骤1:安装Visual Studio和CMake首先,我们需要安装Visual Studio和CMake。
您可以从Visual Studio 的官方网站上下载并安装Visual Studio Community版本。
而CMake 则可以从CMake的官方网站上下载并安装。
步骤2:创建一个空的C++项目打开Visual Studio并点击“创建新项目”。
在弹出的对话框中选择“空项目”模板,并指定项目的名称和位置。
点击“确定”按钮创建项目。
步骤3:添加CMake配置文件在Visual Studio的解决方案资源管理器中,右键点击项目名称,选择“添加”->“新建项”。
在弹出的对话框中选择“CMake”->“CMakeLists.txt”文件,并点击“添加”按钮。
步骤4:配置CMake项目打开刚刚添加的CMakeLists.txt文件,我们需要配置CMake项目。
CMakeLists.txt文件是一个文本文件,用于告诉CMake如何生成构建文件。
下面是一个示例的CMakeLists.txt文件:cmake_minimum_required(VERSION 3.10)project(MyProject)# 将源代码添加到此项目的可执行文件。
add_executable(MyProject main.cpp)在这个示例中,我们指定了CMake的最低版本,项目的名称以及项目的源代码文件。
您可以根据您的项目需求对此文件进行修改。
例如,您可以添加更多的源文件、链接库或者设置编译选项。
visual studio cmake参数一、简介CMake是一种跨平台的构建系统,它能够生成适应各种平台和环境的构建文件。
在VisualStudio中,CMake可以通过CMakeLists.txt 文件来配置项目,并通过VisualStudio的界面进行编译和构建。
二、常用参数1.-G<generator>:指定生成器,用于指定CMake生成构建文件的格式。
例如,VisualStudio的生成器可以是"VisualStudio172022",这表示我们正在为VisualStudio2022环境配置项目。
2.<库路径>:指定库路径,用于链接库文件。
可以在CMakeLists.txt文件中设置"link_directories(<库路径>)"来指定库文件的位置。
3.<库名称>:指定链接库,用于链接到已安装的库。
可以在CMakeLists.txt文件中设置"target_link_libraries(<目标文件名><库名称>)"来链接库文件。
4.<编译器参数>:设置编译器参数,如警告级别、优化级别等。
可以在CMakeLists.txt文件中使用"-<参数名><值>"的形式来设置参数。
三、高级用法1.设置变量:可以在CMakeLists.txt文件中定义变量,并在VisualStudio项目中引用这些变量。
例如,可以使用"set(<变量名><值>)"来定义变量,并在需要的地方使用"${<变量名>}"来引用变量值。
2.使用条件编译:可以在CMakeLists.txt文件中使用条件编译语句来根据不同的编译环境生成不同的构建文件。
例如,可以使用"if(<条件>)"来根据条件判断是否需要包含某个源文件或链接某个库。
vs2010mfc课程设计一、课程目标知识目标:1. 学生能理解VS2010 MFC的基本概念,掌握MFC框架的构成及其功能。
2. 学生能掌握使用VS2010 MFC创建Windows应用程序的基本步骤和方法。
3. 学生能了解并运用MFC中的常用控件,如按钮、文本框、列表框等。
技能目标:1. 学生能运用VS2010 MFC开发环境创建简单的Windows应用程序。
2. 学生能通过MFC控件进行界面设计,实现基本的用户交互功能。
3. 学生能运用调试工具对MFC应用程序进行调试和错误排查。
情感态度价值观目标:1. 培养学生对编程的兴趣,提高他们学习计算机技术的积极性。
2. 培养学生的团队协作意识,使他们学会在项目开发中与他人合作。
3. 培养学生严谨、细致的学习态度,使他们养成良好的编程习惯。
分析课程性质、学生特点和教学要求:1. 课程性质:本课程为计算机专业选修课程,旨在让学生掌握VS2010 MFC 的开发技能。
2. 学生特点:学生已具备一定的C++编程基础和Windows操作系统知识。
3. 教学要求:结合学生特点和课程性质,注重实践操作,培养学生的动手能力。
1. VS2010 MFC基础入门- MFC概述:介绍MFC的概念、发展历程和应用领域。
- MFC程序结构:分析MFC程序的构成,包括项目文件、源文件、头文件等。
2. MFC应用程序创建与调试- 创建MFC应用程序:学习使用VS2010创建MFC应用程序的方法。
- 调试MFC应用程序:掌握使用调试工具进行程序调试的技巧。
3. MFC界面设计与控件使用- 界面设计:学习MFC界面设计的基本原则和方法。
- 常用控件:学习并实践MFC中的常用控件,如按钮、文本框、列表框等。
4. MFC事件处理与消息映射- 事件处理:了解MFC中事件处理机制,学习如何为控件添加事件处理函数。
- 消息映射:掌握MFC消息映射表的使用,学习如何处理自定义消息。
5. 实践项目:开发一个简单的MFC应用程序- 实践项目安排:将教学内容应用于实际项目中,巩固所学知识。
visual c++2010 mfc实例以下是一个简单的 Visual C++ 2010 MFC 示例,展示了一个基本的对话框应用程序:// SampleMFCAppDlg.h#pragma onceclass CSampleMFCAppDlg : public CDialogEx{public:CSampleMFCAppDlg(CWnd* pParent = nullptr);enum { IDD = IDD_SAMPLEMFCAPP_DIALOG };protected:virtual void DoDataExchange(CDataExchange* pDX);virtual BOOL OnInitDialog();DECLARE_MESSAGE_MAP()};// SampleMFCAppDlg.cpp#include "SampleMFCApp.h"#include "SampleMFCAppDlg.h"#ifdef _DEBUG#define new DEBUG_NEW#endifCSampleMFCAppDlg::CSampleMFCAppDlg(CWnd* pParent /*=nullptr*/) : CDialogEx(IDD_SAMPLEMFCAPP_DIALOG, pParent){}void CSampleMFCAppDlg::DoDataExchange(CDataExchange* pDX) {CDialogEx::DoDataExchange(pDX);}BEGIN_MESSAGE_MAP(CSampleMFCAppDlg, CDialogEx)END_MESSAGE_MAP()BOOL CSampleMFCAppDlg::OnInitDialog(){CDialogEx::OnInitDialog();return TRUE;}// SampleMFCApp.cpp#include "SampleMFCApp.h"#include "SampleMFCAppDlg.h"#ifdef _DEBUG#define new DEBUG_NEW#endifCSampleMFCAppApp theApp;BOOL CSampleMFCAppApp::InitInstance(){CWinApp::InitInstance();CSampleMFCAppDlg dlg;空dlg.DoModal();return FALSE;}// SampleMFCApp.rc (资源文件)#include "resource.h"IDD_SAMPLEMFCAPP_DIALOG DIALOGEX 0, 0, 300, 200STYLE DS_SETFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU CAPTION "Sample MFC App"FONT 8, "MS Shell Dlg", 0, 0, 0x1BEGINDEFPUSHBUTTON "OK",IDOK,210,10,50,14PUSHBUTTON "Cancel",IDCANCEL,210,30,50,14END// SampleMFCApp.h (头文件)#pragma once#include "afxwin.h"class CSampleMFCAppApp : public CWinApp{public:virtual BOOL InitInstance();};// main.cpp#include "SampleMFCApp.h"#ifdef _DEBUG#define new DEBUG_NEW#endifCSampleMFCAppApp theApp;int APIENTRY _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow){UNREFERENCED_PARAMETER(hPrevInstance);UNREFERENCED_PARAMETER(lpCmdLine);// TODO: 在此处放置代码。
cmake visual studio 命令参数CMake是一个跨平台的开源建构系统,可用于自动生成用于各种开发环境的构建脚本。
其中一个主要的用途是与Visual Studio集成,通过使用CMake Visual Studio命令参数,可以更好地定制和控制项目的构建过程。
一、CMake基本原理在了解CMake Visual Studio命令参数之前,我们先来了解一下CMake的基本原理。
CMake使用简洁的CMakeLists.txt文件描述项目的构建过程,然后通过生成适应不同平台和开发环境的构建脚本来管理项目的构建过程。
在Visual Studio中使用CMake时,可以通过调用cmake命令生成Visual Studio的项目文件(.sln)以及项目依赖文件(.vcxproj)。
二、CMake Visual Studio命令参数以下是一些常用的CMake Visual Studio命令参数:1. -G <generator>:指定生成器名称,用于生成相应的Visual Studio项目文件。
常见的生成器包括"Visual Studio XX XX"和"Visual Studio XX XX Win64",其中XX表示Visual Studio的版本号。
示例:cmake -G "Visual Studio 16 2019"2. -DCMAKE_BUILD_TYPE=<type>:指定构建类型,可以是Debug、Release或其他自定义的构建类型。
不同的构建类型可以有不同的构建选项,如优化级别、调试信息等。
示例:cmake -DCMAKE_BUILD_TYPE=Release3. -D<variable>=<value>:用于定义CMake变量的值。
通过该命令参数,可以在生成的Visual Studio项目文件中自定义一些选项,如指定编译器、链接器选项等。
本文摘要:Visual Studio 2010 为 C++ 开发人员提供了巨大的好处。
从利用 Windows 7 所提供的新功能到通过使用大型基本代码提高工作效率的增强功能,每个 C++ 开发人员都可获得新的或改进的功能。
在本文中,我将解释 Microsoft 对 C++ 开发人员所面临的一些广泛问题的Visual Studio 2010 为C++ 开发人员提供了巨大的好处。
从利用Windows 7 所提供的新功能到通过使用大型基本代码提高工作效率的增强功能,每个C++ 开发人员都可获得新的或改进的功能。
在本文中,我将解释Microsoft 对C++ 开发人员所面临的一些广泛问题的解决方式。
具体而言,Visual Studio 2010 通过依据即将发布的C++0x 标准添加核心语言功能,并通过修改标准库来利用这些新的语言功能,提供了一种更为先进的编程模型。
有新的并行编程库和工具可简化并行程序的创建。
有了IntelliSense 和扩展到大型基本代码的代码理解功能,您还会发现整体性能和开发人员工作效率的提高。
并且,您将在设计时、生成时、编译时和链接时从改进的库性能和其他功能获益。
Visual Studio 2010 将生成系统迁移到MSBuild,使其具有更高的可自定义程度并支持本机多定向。
MFC 库中的增强功能可利用新Windows 7 API 的功能,使您能够编写出色的Windows 7 应用程序。
下面我将详细介绍Visual Studio 2010 中这些针对C++ 的改进。
C++0x 核心语言功能下一个C++ 标准很快就会完成。
为帮助您开始使用C++0x 扩展,Visual Studio 2010 中的Visual C++ 编译器启用了六项C++0x 核心语言功能:lambda 表达式、auto 关键字、rvalue引用、static_assert、nullptr和decltype。
lambda 表达式隐式定义并构造未命名函数对象。
VS2010编译MFC程序出错的原因在已经安装了VS2008的计算机上安装VS2010,用VS2010新建一个MFC程序,编译都通不过,错误如下:1> stdafx.cpp1>d:/program files/microsoft visual studio 10.0/vc/atlmfc/include/afxglobals.h(375): error C2143: syntax error : missing ';' before '*'1>d:/program files/microsoft visual studio 10.0/vc/atlmfc/include/afxglobals.h(375): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int1>d:/program files/microsoft visual studio 10.0/vc/atlmfc/include/afxglobals.h(375): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int1>d:/program files/microsoft visual studio 10.0/vc/atlmfc/include/afxglobals.h(375): warning C4183: 'GetITaskbarList3': missing return type; assumed to be a member function returning 'int'1>d:/program files/microsoft visual studio 10.0/vc/atlmfc/include/afxglobals.h(413): error C2143: syntax error : missing ';' before '*'1>d:/program files/microsoft visual studio 10.0/vc/atlmfc/include/afxglobals.h(413): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int1>d:/program files/microsoft visual studio 10.0/vc/atlmfc/include/afxglobals.h(413): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========查看错误文件,发现ITaskbarList3没有定义,出现这种问题最大的可能就是包含目录的问题。
用cmake生成利用VTK库类的visual
studio 2010 MFC工程
最近在学习利用VTK三维编程,但是发现,在国内,相关的
知识真的很少,在学习的过程中,遇到了很大的困难,所以就
想着把我学到的一些有用的知识写出来,供以后的学习的人参
考,我也是一个新手,有不到之处,希望读者不吝赐教。
这就
是我写这些的动机。
以下的所有的所用的环境的操作系统是
windows xp sp3.
一,cmake简介:
cmake 即是cmake - Cross-Platform Makefile Generator.是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程),能够输出各种各样的makefile或者project文件。
用cmake生成工程的时候主要的依据是CMakeLists.txt文件,其是一种脚本文件,有很简单的语法,cmake就是根据该文件的相关指示生成相应的工程的。
二,用cmake生成visual studio 2010 MFC工程的步骤和方法1,首先用visual studio 2010新建一个MFC工程,可以是基于对话框的或者是基于文档的。
2,将生成的工程的目录下的<工程名>.sln和<工程名>.sdf 删除,PS:不删除也没有什么问题的,我建立的是工程的名字是VtkMFC,多文档的。
3,编辑CMakeLists.txt 文件,就是一个文本文件。
#cmake版本的最低要求
cmake_minimum_required(VERSION 2.8)
#生成工程的名字
PROJECT(VtkMFC)
#查找TVK的安装路径
FIND_PACKAGE(VTK)
IF(NOT VTK_DIR)
MESSAGE(FATAL_ERROR "Please set VTK_DIR.")
ENDIF(NOT VTK_DIR)
INCLUDE(${VTK_USE_FILE})
INCLUDE("${VTK_DIR}/GUISupport/MFC/VTKMFCSettings.cma ke")
IF(VTK_MFC_DELAYLOAD_VTK_DLLS)
VTK_MFC_ADD_DELAYLOAD_FLAGS(CMAKE_EXE_LINKER_FLA GS
vtkMFC.dll
vtkRendering.dll
vtkIO.dll
vtkFiltering.dll
vtkCommon.dll
)
ENDIF(VTK_MFC_DELAYLOAD_VTK_DLLS)
#设置工程的源代码的变量,就是刚才生成的全部的MFC工程的全部的源文件
SET( VtkMFC_SRCS
ClassView.h
ClassView.cpp
FileView.h
FileView.cpp
MainFrm.h
MainFrm.cpp
OutputWnd.h
OutputWnd.cpp
Readme.txt
Resource.h
stdafx.h
stdafx.cpp
targetver.h
ViewTree.cpp
ViewTree.h
VtkMFC.h
VtkMFC.cpp
VtkMFC.rc
VtkMFCDoc.h
VtkMFCDoc.cpp
VtkMFCView.h
VtkMFCView.cpp
PropertiesWnd.cpp
PropertiesWnd.h
)
ADD_EXECUTABLE(VtkMFC WIN32 ${VtkMFC_SRCS})
IF(VTK_MFC_EXTRA_LIBS)
TARGET_LINK_LIBRARIES(VtkMFC ${VTK_MFC_EXTRA_LIBS}) ENDIF(VTK_MFC_EXTRA_LIBS)
TARGET_LINK_LIBRARIES(VtkMFCvtkMFCvtkRenderingvtkIOvt kFilteringvtkCommon)
4,将CMakeLists.txt文件放在…\VtkMFC\VtkMFC下,并建立文件夹bin,用来放置将来生成的工程文件。
5,用cmake生成工程
(1)运行cmake-gui,设置where is the source code为放置CMakeLists.txt文件的文件目录下,设置where to build the binaries为刚才建立的文件夹bin
(2)点击configure,设置Specify the generator for this project 为visual studio 2010,然后finished
(3)等到在下面的状态栏上显示configured,再点击generate,待到下面的状态栏上显示generated,此时你的VtkMFC工程已经生成了。
(4)打开生成的MFC工程,直接编译,你就可以看到就和原来直接用visual studio 2010 直接生成的一样的一个空白的视图。
(5)在代码中你就可以使用VTK相关的库类了
其实CMakeLists.txt还有其他的写法,就是在每个文件的下面就写一个CMakeLists.txt文件,这时候在第一个CMakeLists.txt中要用子文件夹的指令。
PS:还有就是我想解释下,为什么我们要用cmake来生成project,而不是直接配置,要知道任何的工程都是可以白手起家的。
这是因为VTK的库类很多,仅仅靠人工是不容易搭建起来的,再就是即使搭建起来也要很多的时间。
把宝贵的时间都浪费在毫无意义的事情上是不明智的选择。
PS:再就是我学习cmake的一点感悟,用cmake生成project就是将所有的源文件都一个不拉的加入将要生成工程的源文件变量中,cmake知道怎么使用这些文件,不用你自己操心,节省了我们很多的时间,为我们带来了很大的方便。