一、项目中文件种类
在解决方案总文件夹下就只包含以下四个文件:
1.解决方案配置文件–project.sln
2.一个项目总文件夹–project
3.一个Debug文件夹
4.一个Release文件夹
注:注意如果不使用Release生成,则不存在Release文件夹
在项目总文件夹project下包含以下文件:
- .cpp源文件
- .h头文件
- 项目配置文件
- 一个Debug文件夹
- 一个Release文件夹
注:此处的Debug和Release文件仅仅是存放中间编译结果.obj,不是用于存放exe、dll文件。同样,如果不适用Release编译,则没有对应的Release文件夹
二、项目文件配置
配置输出、中间、调试目录
- 输出目录
属性>>常规>>输出目录:
(Platform)$(Configuration)
解析后:C:\Users\SLidar\source\repos\Project1\Win32\Debug
用于存放生成的dll文件和exe文件
2. 中间目录
属性>>常规>>中间目录
$(Configuration)
解析后:C:\Users\SLidar\source\repos\Project1\Project1\Debug
用于存放生成的obj等中间编译文件
- 调试目录
属性>>调试>>工作目录
$(OutDir)
解析后:C:\Users\SLidar\source\repos\Project1\Win32\Debug
修改了输出文件目录,必须修改调试目录,不然就无法完成调试
如果项目中用到了其他的库,还需要添加项目的附加包含目录、附加库目录。
4. 附加包含目录
属性>>C\C++>>常规>>附加包含目录
选择要设置库的.h文件所在的目录,大多放在include文件夹下。
- 附加库目录
属性>>链接器>>常规>>附加库目录
选择要设置库的lib以及dll链接库的目录,大多放在库的lib文件夹下
- 设置项目附加依赖项
属性>>链接器>>输入>>附加依赖项
设置xx.lib静态链接库的名称
- 加载dll文件(很实用)
程序在使用其他库的dll文件时,在程序的当前目录或环境变量指定的目录中必须能够找得到这些.dll文件,即现在打开.exe文件所在的Bin文件夹,双击运行程序,除非设置了所依赖的dll的环境变量,否则程序仍然无法运行,因为程序无法找到dll模块。
- 可以手动把这些.dll拷贝到.exe文件所在的文件夹
属性>>生成事件>>后期生成事件>>命令行
在命令行中填写重我们在重新生成完程序后,执行的命令。我们可以在这里使用copy命令,来将程序需要的.dll文件自动拷贝到.exe文件所在的目录。当然,在这里你可以做更多的事情,比如如果你的程序需要读取配置文件,你也可以把配置文件拷贝过来等。
三、 宏定义说明
$(ConfigurationName) 当前项目配置的名称
$(OutDir) 输出文件目录的路径,相对于项目目录。
$(PlatformName) 当前目标平台的名称。
$(ProjectDir) 项目的目录;
$(ProjectPath) 项目的绝对路径名
$(ProjectName) 项目的基本名称。
$(ProjectFileName) 项目的文件名
$(SolutionDir) 解决方案的目录
$(SolutionPath) 解决方案的绝对路径名
$(SolutionName) 解决方案的基本名称。
$(SolutionFileName) 解决方案的文件名。
$(TargetDir) 生成的主输出文件的目录
$(TargetPath) 生成的主输出文件的绝对路径名
$(TargetName) 生成的主输出文件的基本名称
$(TargetFileName) 生成的主输出文件的文件名
$(DevEnvDir) Visual Studio 2005 的安装目录