用VS新建一个解决方案TTT,在解决方案下可以有很多个项目.在解决方案下新建一个项目TTT1(C++, Win32控制台程序)
- 扩展名为.sln的文件,记录着关于解决方案中项目的信息。
- 扩展名为.suo的文件,其中记录着应用于该解决方案的用户选项。
- 扩展名为.sdf的文件,记录着与解决方案的Intellisense有关的数据。Intellisense是在Editor窗口中输入代码时提供自动完成和提示功能的工具。
- 扩展名为.opensdf的文件,记录着关于项目状态的信息,此文件只在项目处于打开状态时才有。
而项目文件夹
.vcxproj是项目工程的配置文件,管理项目的细节,例如包含的文件,引用库之类的
.vcxproj.filters用于项目文件下的虚拟目录,为工程中的文件过滤器配置文件.VS通过这个配置在项目目录中进行分类.VS为项目默认创建了4个filters:外部依赖项;头文件;源文件;资源文件.
.vcxproj.user是用户定义的一些属性配置
在TTT1项目中添加源文件main.cpp,然后编译
相比之前,增加了Debug和ipch文件夹.ipch和sdf是VS用来保存预编译的头文件和Intellisense的,对于开发并没有太大的影响,而大小几十M.可以通过一些网上的一些设置禁止它生成.Debug文件夹如下:
.ilk是一种链接临时文件,连接过程中生成的一种中间文件,只供LINK工具使用.
.pdb一种 PowerBuilder 动态库,作为本地DLL的一个替代物。程序数据库文件,在建立工程时自动生成,其中存放程序的各种信息,用来加快调试过程的速度。记录了程序有关的一些数据和调试信息.而TTT1文件夹如下:
Debug文件中包含一些编译时生成的日志文件,开发文件,数据库文件
默认条件下的文件夹内容就是这样,可以通过属性设置把这些文件夹目录进行修改.
下面是属性方面的一些总结,大部分都是看别人的博客所学到的东西
VC++目录:
可执行文件目录:搜索可执行文件时使用的路径,对应于环境变量PATH(还是不太一样,对应IncludePath)
包含目录:搜索#include<>或者""的路径,对应于环境变量INCLUDE,对解决方案里的所有项目有效
引用目录:搜索通过#using引入的文件使用的路径
库目录:搜索.lib使用的路径,LIB
关于LIB和DLL http://www.cppblog.com/amazon/archive/2009/09/04/95318.html
C++目录:
附加包含目录:包含目录的补充,仅对当前项目有效
输入:
附加依赖项:lib库(要使用一个lib,假设为lan.lib需要在附加包含目录(lan.h所在目录),附加库目录(lan.lib所在目录),附加依赖项添加lan.lib)
然后是最近遇到的一个问题,调用VTK,并没有用CMAKE,残,用了好几次都弄不好.
运行过程中会告知缺少vtkFlitering.dll等几个dll.以前是把这些.dll拷到.exe所在文件夹,可是也太蠢了吧.
在网上学习到一种办法比较好:
将.dll所在目录(D:\VTK 5.6\bin\bin\Debug)临时添加到环境变量PATH中:
在属性->调试->环境, PATH=D:\VTK 5.6\bin\bin\Debug;%PATH%;
以上都是一些总结,水平很菜,有错误麻烦指正哈 .