From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
Home
Support
如何用Measurement Studio中的新工具更新已有的Microsoft Visual C++项目?
如何用Measurement Studio中的新工具更新已有的Microsoft Visual C++项目?
主要软件: Measurement Studio>>Measurement Studio for Visual C++
主要软件版本: 8.0
主要软件修正版本: N/A
次要软件: N/A
问题: 如何用Measurement Studio中的新工具更新已有的Microsoft Visual C++项目?
解答: 手动在已有项目中添加Measurement Studio的功能
这篇文章将使您学会将一个已有的Microsoft Visual C++项目转换成为包含National Instruments Measurement Studio for Visual C++ version 1.0的类和用户界面控件的项目.National Instruments推荐您使用Measurement Studio创建一个新的项目.您也可以使用下面的办法进行转换,如果不行,您也可以在已有的项目中进行修改,使之包含Measurement Studio中新功能的代码.如果您的项目很复杂或很庞大,那么对其修改是一个不错的选择.
Measurement Studio的类和用户界面控件需要用到MFC.您可以参照MSDN online中Microsoft Support Services部分的Q173974号文章获得更多信息.
项目转换的过程主要分为三步:
- 使用Measurement Studio AppWizard创建一个临时项目.
- 修改或替换已有项目的.dsp文件.
- 修改已有项目的.dsw文件.
Step 1:创建临时项目
在您实施修改之前,您需要使用Measurement Studio AppWizard创建一个新的Measurement Studio项目.您将使用这个项目通过复制粘贴在已有的项目中加入新信息.
Step2:修改项目
当您创建好临时项目之后,将.dsp文件复制到已有的项目中.您有两种方法实现:1,您可以对已有的.dsp文件进行修改,这样会保持已有项目的特殊信息,但是比较耗时,而且容易出错.2,您可以直接用新的.dsp文件替换已有文件,这样非常省时,但会去除所有的特殊信息.
- 方法 1 -修改.dsp文件
如果您选用第一种方法,您可以参照如下步骤:
- 修改项目设置
按照如下方法修改项目中有关Debug和Release的设定
- Debug
- 在Visual C++中, 打开您要修改的项目.
- 点击Project » Settings,在Settings For中选择Win32 Debug.
- 在C/C++选项卡中Category处选择General.
- 在预定义中加入NI_MEASUREMENT_STUDIO.使用通用格式,NI_MEASUREMENT_STUDIO之后没有逗号.
- 在Category中选择C++.
- 选中Run-Time Type Information (RTTI).
- 点击Link选项卡,在Category中选择General,然后在Object/library中添加以下的.lib文件.
Note:中间相隔一个空格,没有逗号.
mfcs42D.lib NiInterfaceD.lib instrsup.lib
Note:如果您要在项目中添加3D绘图,添加winmm.lib.如果您要添加IVI仪器驱动,添加ivi.lib.
- 在Category中选择Input,在Ignore libraries中添加libc.
- 点击OK.
- Release
- 在Visual C++中, 打开您要修改的项目.
- 点击Project » Settings,在Settings For中选择Win32 Release.
- 在C/C++选项卡中Category处选择General.
- 在预定义中加入NI_MEASUREMENT_STUDIO.使用通用格式,NI_MEASUREMENT_STUDIO之后没有逗号.
- 在Category中选择C++.
- 选中Run-Time Type Information (RTTI).
- 点击Link选项卡,在Category中选择General,然后在Object/library中添加以下的.lib文件.
Note:中间相隔一个空格,没有逗号.这些文件名中没有D,表示它是Release版本.
mfcs42.lib NiInterface.lib instrsup.lib
Note:如果您要在项目中添加3D绘图,添加winmm.lib.如果您要添加IVI仪器驱动,添加ivi.lib.
- 在Category中选择Input,在Ignore libraries中添加libc.
- 点击OK.
- 修改.dsp文件
- 要将Measurement Studio中的头文件信息添加到项目中,您需要按照以下步骤操作.
在文本编辑器中打开临时项目和待修改项目的.dsp文件
- 在临时项目的.dsp文件中,找到示例中的代码部分并在表的最下面添加一列,之后将这部分代码复制出来.
- 在已有项目的.dsp文件中,在下表所示的代码的开始和结束部分之间粘帖之前的代码.
Tip: XXX代表已有项目的名称.
开始代码部分 |
# Begin Target # Name "XXX" # Name "XXX"
|
添加代码示例 |
# Begin Group "Measurement Studio" # Begin Group "Include" # Begin Source File
# Begin Source File SOURCE="$(MSTUDIO_CPP_PATH) \Include\Ni4882.h" # End Source File . . . (Continue adding header file include paths here.)
# PROP Default_Filter "*.h" # End Group # PROP Default_Filter "" # End Group |
结束代码部分 |
# Begin Group "Source Files" # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
- 将开始代码部分中的项目名称更改为您已有的项目名称
- 在已有的.dsp文件的末尾,# End Project之后,添加临时项目的.dsp文件中的一部分代码.以下是一个示例:
# Section Temporary :{0414ADF0-A0DE-11CE-A870-0020AF6845F6}
# 2:5:Class:CNiAxis
# 2:10:HeaderFile:NiAxis.h
# 2:8:ImplFile:NiAll.cpp
# End Section
将这部分代码添加到您的项目中用以在Visual C++中为空间找到对应的类,使您可以使用ClassWizard在您的项目中为用户界面控件以及3D绘图控件声明变量.
- 在各部分中将临时项目名称更改为以有项目名称.
- 保存.dsp文件.
- 在Visual C++中打开已有项目,确定该项目已经可以使用Measurement Studio的类以及用户界面控件,并且可以正确编译和运行.
- 方法 2 - 替换已有.dsp文件
- 在文本编辑器中打开临时项目和待修改项目的.dsp文件
- 复制临时项目的.dsp文件中的内容,用其替换待修改项目的.dsp文件中的内容
- 替换好之后,您需要将其中的名称全部改为以有项目的名称.
Note:该方法用临时项目的属性替换已有项目的属性,若要不丢失任何属性,请按照生成已有项目的方式生成临时项目.
Step 3:修改.dsw文件
- 在文本编辑器中打开临时项目和待修改项目的.dsw文件,将Package ‹=3›部分的GUID复制到已有项目的.dsw文件中的相同部分.这将使Visual C++正确的识别和显示这些控件.
Note:如果已有的项目中已有部分GUID,那么将临时项目中的GUID添加到之后的位置.
相关链接: KnowledgeBase 2MKEPHBH: Why Can't I Find My Measurement Studio Toolbar Buttons in Visual C++?
附件:
报告日期: 11/21/2006
最近更新: 11/21/2006
文档编号: 1V982Q8M
Other Support Options
Ask the NI Community
Collaborate with other users in our discussion forums
Request Support from an Engineer
A valid service agreement may be required, and support options vary by country.