一句话提要

好的開始等于成功了一半。

创建文件夹结构

project文件夹下最好分为以下几个文件夹

Docs - 开发文档,设计文档

Assets - 角色,动作,模型和音效等

Source - 代码,project文件或者makefile也放在这里,假设有引用第三方的lib,在里面建立一个3rdParty的文件夹,放在里面。

Temp - 用于防止编译生成的文件

Lib - 放置编译好的lib文件,将source编译成lib能够更好地保护源码。

Game - 用于放置release buid,里面有游戏的可运行文件,还有所需的资源文件。复制到不论什么电脑上都能直接运行

Test(不是必须) - 放置測试文件

建议使用

#pragma comment (lib,“x.lib”)

来引入lib,不要把库的依赖放到project设置里。这样你就不必每一个lib都针对各个编译选项设置一遍。

Visual Studio中配置project

版本号VS2013

VS项目配置下经常使用的几个宏

$(IntDir) - 为中间文件指定的相对于项目文件夹的文件夹路径。

它解析为“中间文件夹”属性的值。

$(ProjectDir) - 项目的文件夹(定义形式:驱动器 + 路径)。包含尾部的反斜杠“\”。

$(ProjectPath) - 项目的绝对路径名(定义形式:驱动器 + 路径 + 基本名称 + 文件扩展名)。
$(ProjectName) - 项目的基本名称。
$(OutDir) - 输出文件文件夹的路径,相对于项目文件夹。这解析为“输出文件夹”属性的值。

$(SolutionDir) - 解决方式的文件夹(定义形式:驱动器 + 路径);包含尾部的反斜杠“\”。
$(SolutionPath) - 解决方式的绝对路径名(定义形式:驱动器 + 路径 + 基本名称 + 文件扩展名)。
$(SolutionName) - 解决方式的基本名称。

用VS打开项目。在项目上右击->属性->配置属性->常规

这样就能够依照之前的设计编译了。

版本号控制

版本号控制就用git吧。托管到github。

在个人主页上点击Responsitories选项卡的New,然后输入名字,描写叙述。

点确认就能够了。

接着在电脑上初始化一下。cmd进入终端。运行以下的命令
#初始化git
git init
#加入远程库。用git@开头的这个,基于ssh。以后每次push不用输入username和password
git remote add -f origin git@github.com****.git
#从远程库中拉下readme之类的东西。更新到最新版本号
git pull origin master
#加入要上传的文件
git add *.
#初始commit
git commit -am "init"
#初始上传
git push

这样项目就托管好了。

參考

Game Code Complete 4th

从零開始写游戏引擎(一) - project创建以及文件夹设置还有版本号控制的更多相关文章

  1. 《从零開始搭建游戏server》项目公布到Linux环境

    前言: 之前我们提及了怎样使用Maven来创建.管理和打包项目,也简单过了一遍Linux中搭建Java开发环境的步骤,如今我们就開始将我们之前开发的项目demo公布到Linux环境下.并让它正常执行起 ...

  2. [Golang] 从零開始写Socket Server(3): 对长、短连接的处理策略(模拟心跳)

    通过前两章,我们成功是写出了一套凑合能用的Server和Client,并在二者之间实现了通过协议交流.这么一来,一个简易的socket通讯框架已经初具雏形了,那么我们接下来做的.就是想办法让这个框架更 ...

  3. [Golang] 从零開始写Socket Server(4):将执行參数放入配置文件(XML/YAML)

    为了将我们写好的Server公布到server上.就要将我们的代码进行build打包.这样假设以后想要改动一些代码的话.须要又一次给代码进行编译打包并上传到server上.     显然,这么做过于繁 ...

  4. [Golang] 从零開始写Socket Server(2): 自己定义通讯协议

    在上一章我们做出来一个最基础的demo后,已经能够初步实现Server和Client之间的信息交流了~ 这一章我会介绍一下怎么在Server和Client之间实现一个简单的通讯协议.从而增强整个信息交 ...

  5. 从零開始怎么写android native service?

    从零開始怎么写android native service Android service对于从事android开发的人都不是一个陌生的东西,非常多人可能会认为服务非常easy. 服务是简单,由于复杂 ...

  6. 从零開始学习OpenCL开发(一)架构

    多谢大家关注 转载本文请注明:http://blog.csdn.net/leonwei/article/details/8880012 本文将作为我<从零開始做OpenCL开发>系列文章的 ...

  7. 关东升的《从零開始学Swift》即将出版

    大家好: 苹果2015WWDC大会公布了Swift2.0,它较之前的版本号Swift1.x有非常大的变化.所以我即将出版<从零開始学Swift><从零開始学Swift>将在&l ...

  8. 从零開始开发Android版2048 (一)初始化界面

    自学Android一个月多了,一直在工作之余零零散散地看一些东西.感觉经常使用的东西都有些了解了,可是一開始写代码总会出各种奇葩的问题.感觉还是代码写得太少.这样继续杂乱地学习下去进度也太慢了,并且学 ...

  9. # 从零開始搭建Hadoop2.7.1的分布式集群

    Hadoop 2.7.1 (2015-7-6更新),Hadoop的环境配置不是特别的复杂,可是确实有非常多细节须要注意.不然会造成很多配置错误的情况.尽量保证一次配置正确防止重复改动. 网上教程有非常 ...

随机推荐

  1. 用SecureCRT在linux系统下载文件

    使用sz命令 说明如下: sz --helpsz version 0.12.20Usage: sz [options] file ...   or: sz [options] -{c|i} COMMA ...

  2. [Pulgin] 前端上传组件Plupload使用指南

    我之前写过一篇文章<文件上传利器SWFUpload使用指南>,里面介绍了上传组件SWFUpload的使用方法,但现在随着html5技术的逐渐推广和普及,再去使用以flash为上传手段的SW ...

  3. position记录元素原始位置

    position记录元素原始位置 css样式: li { width: 100px; height: 100px; margin: 10px 0 0 10px; background-color: # ...

  4. Irrlicht 1.8.4 + Win7 + VC2015 + x64 +OpenGL编译

    1. 下载irrlicht1.8.4 https://nchc.dl.sourceforge.net/project/irrlicht/Irrlicht%20SDK/1.8/1.8.4/irrlich ...

  5. Html Ajax上传文件,form表单下载文件

    Html中的代码: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type&quo ...

  6. KAFKA 调优

    KAFKA 调优 最近要对kafka集群做调优,就在网上看了些资料,总结如下. 我们的kafka版本是0.10.1.0. 机器配置是40G内存,300G硬盘. 一共有3台机器组成一个小的集群. Kak ...

  7. Android之Action Bar

    Action Bar在实际应用中,很好地为用户提供了导航,窗口位置标识,操作点击等功能.它出现于Android3.0(API 11)之后的版本中,在2.1之后的版本中也可以使用. 添加与隐藏Actio ...

  8. vue-阻止事件冒泡-开启右键-键盘类事件

    一: 阻止事件冒泡 布局: 当点击按钮时,会触发button的click 也会触发父级的方法 <div id="box"> <div @click="p ...

  9. Docker的特性解析

    Docker简介与入门:http://segmentfault.com/blog/p_chou/1190000000448808 Docker是个新生的事物,概念类似虚拟化.网上关于Docker入门的 ...

  10. vue组件之间互相传值:父传子,子传父

    今看到一篇很不错的vue组件传值文章,便于理解,遂做笔记- 一般页面的视图App.vue应为这样 一.父组件向子组件传值 1.创建子组件,在src/components/文件夹下新建一个Child.v ...