从零開始写游戏引擎(一) - project创建以及文件夹设置还有版本号控制
一句话提要
好的開始等于成功了一半。
创建文件夹结构
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
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
參考
从零開始写游戏引擎(一) - project创建以及文件夹设置还有版本号控制的更多相关文章
- 《从零開始搭建游戏server》项目公布到Linux环境
前言: 之前我们提及了怎样使用Maven来创建.管理和打包项目,也简单过了一遍Linux中搭建Java开发环境的步骤,如今我们就開始将我们之前开发的项目demo公布到Linux环境下.并让它正常执行起 ...
- [Golang] 从零開始写Socket Server(3): 对长、短连接的处理策略(模拟心跳)
通过前两章,我们成功是写出了一套凑合能用的Server和Client,并在二者之间实现了通过协议交流.这么一来,一个简易的socket通讯框架已经初具雏形了,那么我们接下来做的.就是想办法让这个框架更 ...
- [Golang] 从零開始写Socket Server(4):将执行參数放入配置文件(XML/YAML)
为了将我们写好的Server公布到server上.就要将我们的代码进行build打包.这样假设以后想要改动一些代码的话.须要又一次给代码进行编译打包并上传到server上. 显然,这么做过于繁 ...
- [Golang] 从零開始写Socket Server(2): 自己定义通讯协议
在上一章我们做出来一个最基础的demo后,已经能够初步实现Server和Client之间的信息交流了~ 这一章我会介绍一下怎么在Server和Client之间实现一个简单的通讯协议.从而增强整个信息交 ...
- 从零開始怎么写android native service?
从零開始怎么写android native service Android service对于从事android开发的人都不是一个陌生的东西,非常多人可能会认为服务非常easy. 服务是简单,由于复杂 ...
- 从零開始学习OpenCL开发(一)架构
多谢大家关注 转载本文请注明:http://blog.csdn.net/leonwei/article/details/8880012 本文将作为我<从零開始做OpenCL开发>系列文章的 ...
- 关东升的《从零開始学Swift》即将出版
大家好: 苹果2015WWDC大会公布了Swift2.0,它较之前的版本号Swift1.x有非常大的变化.所以我即将出版<从零開始学Swift><从零開始学Swift>将在&l ...
- 从零開始开发Android版2048 (一)初始化界面
自学Android一个月多了,一直在工作之余零零散散地看一些东西.感觉经常使用的东西都有些了解了,可是一開始写代码总会出各种奇葩的问题.感觉还是代码写得太少.这样继续杂乱地学习下去进度也太慢了,并且学 ...
- # 从零開始搭建Hadoop2.7.1的分布式集群
Hadoop 2.7.1 (2015-7-6更新),Hadoop的环境配置不是特别的复杂,可是确实有非常多细节须要注意.不然会造成很多配置错误的情况.尽量保证一次配置正确防止重复改动. 网上教程有非常 ...
随机推荐
- phpfpm的配置
1.php中fastcgi和php-fpm是什么东西 最近在研究和学习PHP的性能方面的知识,看到了factcgi以及php-fpm,发现我对他们是少之又少的理解,可以说几乎是一无所知,想想还是蛮可怕 ...
- AdaBoostClassifier实战
AdaBoostClassifier实战 部分内容摘自:http://blog.csdn.net/sun_shengyun/article/details/54289955 这里我们用一个具体的例子来 ...
- CTF-Mayday
打开下载的Mayday.txt文件: 温柔 知足突然好想你 拥抱突然好想你 拥抱温柔 知足温柔 知足突然好想你 拥抱突然好想你 拥抱温柔 知足温柔 知足突然好想你 拥抱突然好想你 拥抱温柔 ...
- golang图片压缩
package main import ( //"encoding/json" "fmt" //"os" //&qu ...
- 取消页面按钮的enter按下事件
<script src="../../@Javascript/jquery-1.8.1.js"></script> <script lan ...
- JVM概论
引子 Java虚拟机是Java应用程序的执行环境.通常而言,JVM是由一组严格的指令集和一个复杂的内存模型来具体实现的虚拟机,它用来解释编译好的java字节码文件,将字节码转换为特定机器可以执行的本机 ...
- draw9patch在SDK->tools找不到,在Android Studio点击图片没找到draw9patch
draw9patch在SDK->tools找不到,在Android Studio点击图片没找到draw9patch 第一个问题: Google把draw9patch集成在Android Stud ...
- Walking on the path of Redis --- Redis configuration
废话开篇 Redis的安装是非常简单易操作的,但是配置就有点复杂了,要想得到高性能的Redis数据服务,深入了解下如何配置是很重要的. 配置详解 下面是主要的参数及说明,至于如何配置才能最优,目前还不 ...
- 项目随笔@Service("testService")-------第二篇
在springmvc中使用注解已经司空见惯了,今天见到了@Service("xxx")这种形式,让我大吃一惊.原来在service后面可以加参数,作为该service的名字,在sp ...
- MongoDB_可视化工具Robo 3T
Robo 3T可以对MongoDB进行可视化操作. Robo 3T安装 官网下载地址:https://robomongo.org/ 进入官网,点击下载,Studio 3T功能更全面,基础功能是免费的, ...