关于VS项目属性配置说明

一. 项目属性页面说明

  1. 初建C++项目的VS界面说明

    • 工程项目初建:在这里创建一个"基于对话框"的MFC项目,如下图描述

    • 工程项目属性页

      

    (1) 活动解决方案配置

        关于这一块的使用,见仁见智,这里只是举一个例子来进行说明。比如,现在需要两个程序,一个是表单的配置程序,一个加载表单后的功能程序,根据要求需要在一个工程里体现,一般我们会在现在工程上"新建一个项目"来实现。

    在这里,我们可以换种方式,我们先创建一个新的方案“NewDebug”,如下图:

      同时,我们定义一个宏

      在主线程里我们写好界面生成的逻辑:

 1 BOOL CVSTestApp::InitInstance()
 2 {
 3     // 如果一个运行在 Windows XP 上的应用程序清单指定要
 4     // 使用 ComCtl32.dll 版本 6 或更高版本来启用可视化方式,
 5     //则需要 InitCommonControlsEx()。  否则,将无法创建窗口。
 6     INITCOMMONCONTROLSEX InitCtrls;
 7     InitCtrls.dwSize = sizeof(InitCtrls);
 8     // 将它设置为包括所有要在应用程序中使用的
 9     // 公共控件类。
10     InitCtrls.dwICC = ICC_WIN95_CLASSES;
11     InitCommonControlsEx(&InitCtrls);
12 
13     CWinApp::InitInstance();
14 
15     AfxEnableControlContainer();
16 
17     // 创建 shell 管理器,以防对话框包含
18     // 任何 shell 树视图控件或 shell 列表视图控件。
19     CShellManager *pShellManager = new CShellManager;
20 
21     // 激活“Windows Native”视觉管理器,以便在 MFC 控件中启用主题
22     CMFCVisualManager::SetDefaultManager(RUNTIME_CLASS(CMFCVisualManagerWindows));
23 
24     // 标准初始化
25     // 如果未使用这些功能并希望减小
26     // 最终可执行文件的大小,则应移除下列
27     // 不需要的特定初始化例程
28     // 更改用于存储设置的注册表项
29     // TODO:  应适当修改该字符串,
30     // 例如修改为公司或组织名
31     SetRegistryKey(_T("应用程序向导生成的本地应用程序"));
32 
33 #if _NEWDEBUG
34     CTestDlg objNewDlg;
35     m_pMainWnd = &objNewDlg;
36     INT_PTR nResponse = objNewDlg.DoModal();
37 #else
38     CVSTestDlg dlg;
39     m_pMainWnd = &dlg;
40     INT_PTR nResponse = dlg.DoModal();
41 
42     if (nResponse == IDOK)
43     {
44         // TODO:  在此放置处理何时用
45         //  “确定”来关闭对话框的代码
46 
47     }
48     else if (nResponse == IDCANCEL)
49     {
50         // TODO:  在此放置处理何时用
51         //  “取消”来关闭对话框的代码
52         CVSTestDlg dlg;
53         m_pMainWnd = &dlg;
54         dlg.DoModal();
55     }
56     else if (nResponse == -1)
57     {
58         TRACE(traceAppMsg, 0, "警告: 对话框创建失败,应用程序将意外终止。\n");
59         TRACE(traceAppMsg, 0, "警告: 如果您在对话框上使用 MFC 控件,则无法 #define _AFX_NO_MFC_CONTROLS_IN_DIALOGS。\n");
60     }
61 #endif
62 
63     // 删除上面创建的 shell 管理器。
64     if (pShellManager != NULL)
65     {
66         delete pShellManager;
67     }
68 
69     // 由于对话框已关闭,所以将返回 FALSE 以便退出应用程序,
70     //  而不是启动应用程序的消息泵。
71     return FALSE;
72 }
View Code

      在工程里,我们选择"NewDebug"配置,同时,我们给生成的程序重新指定个名字

      

      

      然后我们编译,则在相关目录会生成一个"NewDebug"目录,同时生成"PropertyGrid.exe"程序。

      而我们在工程里设置"Debug"配置时,则编译生成主程序如下:

 

      

测试代码:https://files.cnblogs.com/files/blogs/666666/VSTest.rar?t=1709730432&download=true

    (2)  活动解决方案平台

工程代码的运行环境:取决于我们安装的系统,windows就有32位或64位,有时候可能会引起一些问题,我们需要注意保持运行平台的统一。

  2.  工程项目属性:常规

    • 路径宏:  

    • 平台工具集:用于指定用于编译和链接项目的编译器和工具版本。
    • 字符集windows字符这里有进行说明。    

  3.  工程项目属性:调试

    • 命令:在静态库和动态库中有讲到使用"命令"来实现调试“动态dll”代码,当然,可以用来调试其他相关联的程序。
    • 命令参数:主要用来向主函数main()传递参数。在启动被调试的程序时,VS会将此参数作为启动参数传递给被调试的程序。
    • 工作目录 :归属于构造参数配置。用于指定被调试程序的工作目录,默认为项目目录$(ProjectDir),可以一般设置为exe所在目录,即$(TargetDir)。程序启动需要读取当前目录下的一些配置文件,如果调试时发现文件明明和应用程序在同一个目录下,程序却提示找不到,通常就是因为工作目录没有设置成应用程序所在目录导致的。
    • 附加:归属于构造参数配置。值为否,表示开始调试时,VS执行命令+命令参数启动一个新的进程用于调试;值为是,表示开始调试时,如果由命令配置项指定的应用程序正在运行,则将调试器附加到已存在的进程进行调试。
    • 调试器类型:默认为自动,一般不需要修改。
    • 环境:归属于构造参数配置。为被调试的程序指定环境变量。
    • 合并环境:归属于构造参数配置。用于指定是否将上个配置项 环境配置 与当前VS的运行环境配置合并。

  4. 工程项目属性:VC++目录

 

       一般使用"静态库"或"动态库"时,就会用到这两个目录。

  5.  工程项目属性:C/C++ 

    下面对一些比较常见的选项进行说明:

    • C/C++->常规->附加包含目录:归属于输入信息配置。用于添加头文件的包含目录。编译代码时,编译器会到已添加的头文件包含目录下查找头文件,引入相关定义。如果找不到头文件会出现未定义的错误。指定头文件包含目录,可以简化头文件包含语句,只需要直接包含头文件名,即:#include "xxxxx.h",不需要指定头文件目录,编译器会自动查找。
    • C/C++->常规->多处理器编译:归属于构造参数配置。值为是,编译器会使用多个处理器内核并行编译,可以加快编译速度,但会增加CPU占用。值为否,编译器不使用多个处理器内核并行编译,编译速度较慢。
    • C/C++->优化:归属于构造参数配置。用于指定编译时的优化等级和优化方案。
    • C/C++->预处理器:归属于构造参数配置。用于预处理阶段,定义和取消定义宏,从而生成不同的代码。

  6. 工程项目属性:链接器

    下面对一些常见的选项进行说明:

    • 链接器->常规->输出文件:归属于输出信息配置。用于指定输出的目标文件路径,一般不做修改。
    • 链接器->常规->启用增量链接:归属于构造参数配置。用于指定是否使用增量链接,加速程序链接过程。
    • 链接器->常规->附加库目录:归属于输入信息配置。用于指定链接库目录。指定库目录可以简化依赖库的指定方式,即只需要指定依赖库名称即可,不需要指定路径。执行链接步骤时,链接器会到已添加的库目录下根据库名称查找对应的链接库,链接到程序中,最终生成目标文件。
    • 链接器->输入->附加依赖项:归属于输入信息配置。用于指定需要链接到目标文件中的依赖库名称。
    • 链接器->调试:归属于输出信息配置。用于指定代码优化等级、是否生成 .pdb 调试信息数据库文件以用于调试等。

二. VS2013常见快捷键

 

     

posted @ 2024-03-06 21:08  夜不眠  阅读(161)  评论(0编辑  收藏  举报