首页 > 其他分享 >关于VS项目属性配置说明

关于VS项目属性配置说明

时间:2024-03-06 21:11:20浏览次数:29  
标签:配置 指定 目录 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常见快捷键

 

     

标签:配置,指定,目录,VS,归属于,链接,调试,属性
From: https://www.cnblogs.com/zhoushen4576/p/18056482

相关文章

  • 前端学习-vue视频学习007-标签的ref属性
    尚硅谷视频教程给标签增加ref属性,可以通过属性值取到标签内容<template><divclass="person"><h1>this</h1><h2ref="title">that</h2><button@click="showLog">changeTemp</button>......
  • 给虚拟机配置ip
    给虚拟机配置ip添加网卡明白自己的需求如果是ping通主机ip那么使用仅主机网卡就足够如果需要ping外网(类似与百度之类的)则需要使用nat网卡如图:添加的网络适配器顺序不固定,知道自己网络适配器对应的网卡(类似ens34)即可查看网卡配置文件nat网卡配置文件仅主机网卡配置......
  • VS 2022支持 .NET Framework 4.5的方法
    默认VisualStudio2022不再支持安装.NETFramework4.5组件不想装vs2019,你可以尝试如下办法:1.nuget下载4.5安装包嫌官网下载慢的可以从下方下载.net4.5https://pan.xunlei.com/s/VNsIXaGlTDlArzgWx_sYmy7tA1?pwd=s339#提取码:s339.net4.5.1https://pan.xunlei.com/s/......
  • 使用脚本配置ModelSim仿真
    最后修改日期:2024/03/061.问题使用ModelSim建立Project仿真的方法并不困难,但是经常提示类似于:Error:failtoopen...这样的错误。ModelSim经常找不到compile之后的模块,不知道为什么。此外,Project的方式反而会产生一堆乱七八糟的文件,这不便于管理。2.解决方法2.1.Mod......
  • vslam算法
    vslam算法VSLAM(VisualSimultaneousLocalizationandMapping)算法是一种用于机器人自主导航的技术,它允许机器人通过视觉传感器获取环境信息,以估计自己的位姿和周围环境的的三维重建。VSLAM算法可以分为以下几类:1特征法。这种方法通过提取图像中......
  • Vue3计算属性与监听
    接上篇文章vue学习笔记 https://www.cnblogs.com/jickma/p/16523795.html在之前中介绍了vue3的特性与响应式数据定义,新的双向绑定,模版等与vue2的差别。在vue2中很重要的两个很重要的东西就是计算属性与监听在vue3中,同样存在只是写法略有不同。5,计算属性......
  • 微信小程序开发:页面分享卡片、风格选择、通道启用等可配置
    上文说到,我们部署了定时任务,但是有个地方忘记在上文写了,这里补上,就是定时任务的超时时间问题,超时时间有7200秒: 我们改成7100秒: 再把云函数调用的云对象的超时时间也改下: 超时时间多一点,因为可能调用往返也需要一点时间,我们把这个时间稍微调大一点。再把云函数的定......
  • springboot Jpa多数据源(不同库)配置
    原文链接: https://cloud.tencent.com/developer/article/2147878?areaSource=102001.2&traceId=pjZ5wzrM7kIDFLonYcL2O一、前言springboot版本不同对多数据源配置代码有一定影响,部分方法和配置略有不同。本文采用的springboot版本为2.3.12,数据源为mysql和postgresql二、配......
  • HTML开发工具和环境介绍,内附超详细的VS code安装教程!
    工欲善其事必先利其器,一款好的开发工具可以让我们事半功倍。前面我们对HTML的相关概念和基本结构已经有了基本的了解,下面我们就来安装在前端开发中的需要使用的开发工具及环境。在众多HTML编辑器中,选择一个适合自己的工具至关重要。今天我们就来认识一下前端开发工作中使用的最广......
  • Elasticsearch集群生产配置
    集群配置在组建集群时,需要额外添加集群相关的配置,如节点角色、集群发现、初始主节点、主节点选举和安全认证等,以下配置均在上篇创建Elasticsearch单机实例的基础上搭建。设置集群名称vielasticsearch.yml#统一集群名字cluster.name:my-application#移除该配置discover......