从零开始写3d游戏2

问题

vs默认建的工程 .sln,和 工程在同一目录下,编译出的文件会在工程目录下的Debug,Release文件夹下.如果是多工程的话会很乱.所以我们借助vs的属性文件,一劳永逸的规划好项目的结构.如图所示, source/prop 下的几个.props文件是我写好的属性文件,可以直接下载 目录结构

其中 根目录下的 .gitignore是git的配置文件,可以规定默认不上传的文件, /build 目录是编译生成文件的位置, /build/bin 里会放 我们需要的执行文件, /build/temp 里会放编译临时文件, 由于还没有生成项目,所以图里没有显示 /build/lib 里会放静态链接库文件,同样由于没有生成项目,所以还没有创建

/source 里会放我们的源文件, /source/project 这里会放把我们创建的工程按照分类放在各子目录下,

/source/sln 这里把我们的解决方案文件夹按照分类放在各子目录下.

实践

下面先建一个工程试一下 新建 新建

刚建完的工程是这样的 工程 工程文件默认都建在了/source/sln/game 下了,我们需要先在vs里把它移除,然后挪到/source/project/game里,然后再给它加到解决方案里. 挪完是这样的 挪工程 留下来的/source/sln/game/client/client.sln 是我们的解决方案文件, /source/sln/game/client/client.VC.db是vs编辑时使用的临时文件,应该会记录我们的编辑信息,比如在哪里下了断点之类. /source/sln/game/client/ipch 文件夹时用来保存预编译头的生成文件的,也可以删掉,

然后我们打开属性管理器 打开属性管理器 为工程添加属性文件 添加现有属性表 选择属性表 这里选 auto.props就可以,它会根据工程的属性自动调整配置. 然后生成一下项目,看一看生成的文件. Snipaste_2019-03-11_16-50-52 可以看到在/build/bin/DebugWin32 下生成了

  • client.exe 我们的执行文件
  • client.ilk 用于增量编译的文件
  • clint.pdb 调试用的符号文件

还有在/build/bin/temp 下生成了一堆文件,这些东西都是一些中间文件 我们不关心它.

因为是新建的解决方案,所以需要挪工程,看起来很费事的样子,现在再建工程就会方便很多直接在工程位置建工程就可以了.