RogueLike in Linux C++-專案設定與GitHub

參考教學:
Complete roguelike tutorial using C++ and libtcod - part 1: setting up

本篇文章主要有三個重點:

  1. 改用 Makefile 編譯 g++。
  2. 使用 GitHub 版控。
  3. 執行第一支 main.cpp 程式 (可以移動行走)。

改用 Makefile 編譯 g++

嘗試使用 Code::Block & CodeLite 等 IDE 均不滿意,想說既然是在 Linux 環境下,還是熟習較基本的編譯環境以及使用 Vim 開發,如此爾後的可控制性也會較好 (越來越喜歡這類命令列的指令模式,初學困難但會倒吃甘蔗)。

使用最普及的 Makefile 來編寫 c++ 的編譯腳本。目前對其語法並不熟悉,就是先針對現在的專案目錄結構,可以順利編譯位於 src/ 資料夾下的 main.cpp,以及可以執行所編譯產出的執行檔即可。

SRCDIR = src
INCDIR = include
LIBDIR = lib
CPP = g++
 
# CFLAGS = -O2 -s -w -std=c++11 -I$(INCDIR)/nwbd -I$(INCDIR)/tcod
CFLAGS = -g -Wall -std=c++11 -I$(INCDIR)/tcod
 
# Determine if operating system is 32-bit or 64-bit
 ifeq ($(shell uname -m),x86_64)
 	# These are the definitions specific to 64-bit systems
	LFLAGS = -L$(LIBDIR)/x86_64 -ltcod -ltcodxx -Wl,-rpath=$(LIBDIR)/x86_64
 else
	#These are the definitions specific to 32-bit systems
 	LFLAGS = -L$(LIBDIR)/i386 -ltcod -ltcodxx -Wl,-rpath=$(LIBDIR)/i386
 endif
 
SUFFIXES: .o .hpp .cpp
 
all: clean tuto
 
tuto:
	@$(CPP) $(SRCDIR)/*.cpp -o tuto $(CFLAGS) $(LFLAGS)
 
clean:
	@rm -f tuto

閱讀全文 »

軟體思維顧問

專職軟體輔導與教育訓練的獨立顧問。輔導企業資訊單位如何有效組織系統開發與維護;輔導開發人員達成有效的專業分工。傳授如何把軟體作軟 (Keeping Software Soft)的技能,得以提昇系統的彈性/延展,並進而創造系統的再利用價值。

Personal