2010年5月7日
用freebsd系統快一年了,去年夏天剛剛開始用時,對系統安裝,基本的操作研究過,用源碼編譯lua和mysql時,lua庫文件不能正常鏈接,mysql的sock也出錯。 最近公司服務器龍哥重新裝過一次,自己在vb上也裝上了8.0版本,真正體會到了ports安裝軟件對使用fb帶來的方便,lua和msyql的庫都有了,寫了個小程序測試也可以用。 朋友介紹luabind比較強大,去看過一些翻譯的文章,比我自己用的這個強啊,更稀奇的是,在fb的ports上也有這個軟件,make intall clean就可以看到庫文件,在原先的程序上添加luabind,編譯慢,又會出錯,糾結了一些時間才發現,0.7版本的不支持lua51,只能是lua50,只是在系統上裝最新的,但新問題又來了。
2008年10月29日
隊伍組成
開發團隊 n 制作人 n 執行制作人 n 策劃團隊 n 程式團隊 n 美術團隊
銷售團隊
測試團隊
游戲評論隊伍
游戲制作人
n 開發組長(always) n 資源管理 (Resource Management) n 行政管理 (Administration) n 向上負責 (Upward Management) n 專案管理 (Project Management)
游戲執行制作人
n 專案管理執行 (Project Management) n Daily 運作 n House Keeping n Not full-time job position
游戲策劃
n 故事設計 (Story Telling) n 腳本設計 (Scripting) n 玩法設計 (Game Play Design) n 關卡設計 (Level Design) n 游戲調適 (Game Tuning) n 數值設定 (Numerical Setup) n AI 設計 (Game AI) n 音效設定 (Sound FX Setup) n 場景設定 (Scene Setup)
游戲美術
n 場景 (Terrain) n 人物 (Character) n 建模 (Models) n 材質 (Textures) n 動作 (Motion / Animation) n 特效 (FX) n 用戶界面User Interface
游戲程序
n 游戲程序 (Game Program) n 游戲開發工具 (Game Tools) n Level Editor n Scene Editor n FX Editor n Script Editor n 游戲Data Exporters from 3D Software n 3dsMax / Maya / Softimage n 游戲引擎開發Game Engine Development n 網絡游戲服務端開發Online Game Server Development
游戲開發流程
創意 提案 制作 整合 測試 贊成 雛形 除錯 調試
Pre-alpha Alpha Beta 結束
n 創意 (Idea) n 提案 (Proposal) n 制作 (Production) n 整合 (Integration) n 測試 (Testing) n 除錯 (Debug) n 調試 (Tuning)
游戲設計(Concept Design)
n 游戲類型 (Game Types) n 游戲世界觀 (Game World) n 故事 (Story) n 游戲特色 (Features) n 游戲玩法 (Game Play) n 游戲定位 (Game Product Positioning) n Target player n Marketing segmentation / positioning n 風險評估 (Risk) n SWOT (優勢Strength/缺點Weakness/機會Opportunity/威脅Threat)
游戲提案 (Proposal)
n 系統分析 (System Analysis) n 游戲設計文件撰寫 (Game Design Document) n 傳播媒介文件撰寫 (Media Design Document) n 技術設計文案撰寫 (Technical Design Document) n 游戲專案建立 (Game Project) n 時間表Schedule n 進程/控制Milestones / Check points n 管理Risk management n 測試計劃書 n 團隊建立 (Team Building)
游戲開發 (Production)
n 美術量產制作 n (建模)Modeling n (結構)Textures n (動畫)Animation n (動作)Motion n (特效)FX n 程序開發 (Coding) n 策劃數值設定
游戲整和 (Integration)
n 關卡串聯 (Level Integration) n 數值調整 (Number Tuning) n 音效置入 (Audio) n 完成所有美術 n 程旬與美術結合 n (攻略)Focus Group (說明書User Study) n 發布一些攻略截圖Release some playable levels for focus group
游戲測試 (Testing)
n Alpha(α) 測試 n 除錯 (Debug) n Beta (β)測試 n 數值微調 n Game play 微調 n 對網絡游戲而言 (MMOG) n 封閉測試 (Closed Beta) n 開放測試 (Open Beta) n 壓力(極限)測試 (Critical Testing) n 網絡游戲才有
關于Bug
n Bug 分級 (Bug Classification) n A Bug n B Bug n C Bug n S Bug n Principles n Bug 分級從嚴 n Tester(測試對象?—) vs Debugger(調試程序)
系統層System Layer – APIs
n 3D Graphics API n DirectX 9.0 SDK – Direct3D n OpenGL 2.0 n 2D API n DirectX 9.0 SDK - DirectMedia n Win32 GDI n Input Device n DirectX 9.0 SDK – DirectInput n Audio n DirectX 9.0 SDK – DirectSound / Direct3DSound / DirectMedia n OpenAL n OS API n Win32 SDK n MFC n Network n DirectX 9.0 SDK – DirectPlay n Socket library
引擎層Engine Layer
n 3D Scene Management System n Scene Graph n Shaders n 2D Sprite System n Audio System n Gamepad n Hotkey n Mouse n Timers n Network n DDK Interface n Terrain n Advanced Scene Management – Space Partition n BSP Tree n Octree n Character System n Motion Blending Techniques n Dynamics n Collision Detection n SoundFX n User Interface
游戲層Game Play Modula
n NPC (Non-playable Characters) n Game AI n Path Finding n Finite State Machine n … n Avatar n Combat System n FX System n Script System n Trading System n Number System n … Game Dev Tools n Visual C/C++ n .net 2003 n Visual C/C++ 6.0+ SP5 n DirectX n Current 9.0c n NuMega BoundsChecker n Intel vTune n 3D Tools n 3dsMax/Maya/Softimage n In-house Tools
~~~~~~~~~~結束~~~~~~~~~
游戲分類
n RPG (Role playing games角色扮演) n AVG (Adventure games冒險類) n RTS (Real-time strategy games既時戰略) n FPS (First-person shooting games主視覺射擊) n MMORPG(多人在線角色扮演) n SLG (戰棋) n Simulation(模擬) n Sports(運動) n Puzzle games(解迷) n Table games(棋牌)
2008年10月16日
以前到網上查資料,關于C++連接mysql數據庫,所以就會用c api來操作mysql,隨后想想,只會用c api有點不太滿足,于是這幾天一直找用ado連接mysql的方法.用ado連接mysql的數據庫的資料沒找到,反而找到連接sql server的,通過ole db方式成功連接,然后修改一下連接字符,用odbc的方式又成功了,想想,在odbc中配置的sql server數據源連接方式與mysql數據源一樣,是否只在變換一下數據源就連接到她的數據庫中去呢.結果只修改數據源也把mysql連接成功了. 原來發現,odbc與ole db的方法只是連接字符中provider與dsn之間的區別.而且在dsn中只要寫好dsn就可以.用戶名和密碼等在dsn中已配置好.
下一步就是如何來操作這些存儲過程了.因為我的SQL語句都寫在數據庫上.呵,完全是為了安全嗎?
PS:今天(2009-01-22)終于把C++調用存儲過程中的返回數據集搞好了.問題出在聯接數據時,最后一個參數沒有設置成CLIENT_MULTI_STATEMENT。 幾個月前沒有顯示中文是因為沒有加“mysql_query(&mysql,"set names gb2312"),現在把兩個問題都解決了。
2008年5月29日
一個C++程序中,用到c api來調動存儲過程.輸入多個參數,返回一個int結果.
用c api都調用好后,讀取數據時,rows[0]不能把MYSQL_RES轉成整型.到網上找了好多資料.沒查到為什么
后來在csdn中,2005年的一個帖.樓主也出現這問題,而他是不確定用atoi能否表示.
看了后,是應該用atoi把他轉成int型的.結果正確.
2008年5月23日
到網上找了好多資料都沒有mysql_com.h 中的socket錯誤.后來才發現,沒有把winsock2.h引進去.但引入進去的時候,還是有一樣的錯誤.確沒發現winsock2.h應要在msyql.h的前面. 以后得記住.這是基礎方面的東西.
2008年5月13日
下面是一個C++調用windows API實現有通信程序,您可以據此進行修改,封裝成類.
// *******************************************************************
// client.cpp : Defines the entry point for the console application. // author: hnynes
// QQ: 61737489
// *******************************************************************
#include "stdafx.h" #include <winsock2.h> #include <iostream> #define PORT_SERVER 6656
int main(int argc, char* argv[]) { std::cout << "Start up tcp client." << std::endl; WSADATA wsaData; WORD sockVersion = MAKEWORD(2, 0); if (0 != WSAStartup(sockVersion, &wsaData)) { std::cout << "Failed to retrive socket version." << std::endl; return 0; } SOCKET sock_client; sock_client = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); if (INVALID_SOCKET == sock_client) { std::cout << "Invalid socket." << std::endl; WSACleanup(); return 0; } sockaddr_in addr_sev; addr_sev.sin_family = AF_INET; addr_sev.sin_port = htons(PORT_SERVER); addr_sev.sin_addr.s_addr = inet_addr("127.0.0.1"); if (SOCKET_ERROR == connect(sock_client, (sockaddr *)&addr_sev, sizeof(addr_sev))) { std::cout << "Failed to connect." << std::endl; WSACleanup(); return 0; }
char buf[512]; int recv_size = 0; recv_size = recv(sock_client, buf, 512, 0); if (512 > recv_size) { buf[recv_size] = '\0'; std::cout << "receive data is :" << buf << std::endl; memset(buf, 0, sizeof(buf)); } else { std::cout << "receive data is overflow" << std::endl; }
closesocket(sock_client); WSACleanup(); system("PAUSE"); return 0; }
// *******************************************************************
// server.cpp : Defines the entry point for the console application. // author: hnynes
// QQ: 61737489
// *******************************************************************
#include "stdafx.h" #include <winsock2.h> #include <iostream> #define PORT_SERVER 6656 #define NUM_CLIENTS 10
int main(int argc, char* argv[]) { std::cout << "Start up tcp server." << std::endl; WSADATA wsaData; WORD sockVersion = MAKEWORD(2, 0); if (0 != WSAStartup(sockVersion, &wsaData)) { std::cout << "Failed to retrive socket version." << std::endl; return 0; }
SOCKET sock_sev; sock_sev = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); if (INVALID_SOCKET == sock_sev) { std::cout << "Invalid socket." << std::endl; WSACleanup(); return 0; }
sockaddr_in addr_sev; addr_sev.sin_family = AF_INET; addr_sev.sin_port = htons(PORT_SERVER); addr_sev.sin_addr.s_addr = INADDR_ANY; if (SOCKET_ERROR == bind(sock_sev, (sockaddr *)&addr_sev, sizeof(addr_sev))) { std::cout << "Failed to bind." << std::endl; WSACleanup(); return 0; } if (SOCKET_ERROR == listen(sock_sev, NUM_CLIENTS)) { std::cout << "Failed to listen." << std::endl; WSACleanup(); return 0; }
// 多路復用,暫時還未實現.后期會對此給出示例. //fd_set reads; //fd_set writes; //fd_set accepts; //FD_ZERO(&reads); //FD_ZERO(&writes); //FD_ZERO(&accepts); //SOCKET sock_client; sockaddr_in addr_client; int nAddrLen = sizeof(addr_client); while (true) { char tmp[512]; sock_client = accept(sock_sev, (sockaddr *)&addr_client, &nAddrLen); if (INVALID_SOCKET == sock_client) { std::cout << "Failed to accept." << std::endl; continue; } sprintf(tmp, "Your IP is %s\n", inet_ntoa(addr_client.sin_addr)); send(sock_client, tmp, strlen(tmp), 0); std::cout << "Connection from " << inet_ntoa(addr_client.sin_addr) << std::endl;
closesocket(sock_client); } return 0; }
注:本程序使用的是VC6 IDE,編譯時請在link中加入對ws2_32.lib庫的引用.
這個程序只是一個雛形,也作學習吧.
2008年5月4日
在C++應用程序中,用到存儲過程調用mysql數據庫,存儲過程用到select返回一行信息,但在程序中出現了錯誤。 在網上找了這方面的問題,其實可以用視圖來解決的。
2008年4月29日
常見的3D引擎有:Unreal,Quake,Lithtech,OGRE,Nebula,Irrlicht,Truevision3D...等,其中開源免費的有:orge,irrlicht,fly3d, NeoEngine, revolution3d, Nebula2,Genesis3d等。OGRE 在免費、開源的引擎中評價最高,一個原因是作為一個圖形渲染引擎,它支持的圖形特性最多,所以渲染質量也不錯;另一個原因是設計模式的清晰;另外,速度也不錯。OGRE 將專注于向一個純粹的、然而富于協作和擴展性的圖形引擎發展,這得益于它的龐大的社群支持,使得很多事情可以通過外掛一些更專業的引擎來實現,物理引擎使用 ODE 、 Tokamak 、 NovodeX ,網絡引擎使用 openTNL 、 RakNet 、 eNet ,聲音引擎使用 FMod 、 OpenAL ,以及界面引擎使用 CEGUI 。
Standard
|
OGRE
|
IrrLicht
|
Truevision3D
|
General
|
Type
|
Only rendering engine
|
|
Game engine
Include TV3DEngine,TV3DMedia,TV3DNet……
|
Languages
|
Written in pure C++, totally object orientated.
|
Written in pure C++, totally object orientated.
|
Written in C++ and VB6 with DirectX8.1
|
License
|
LGPL
|
zlib/libpng License(totally free)
|
· Free TV3DSDK
· Registered Developer License
· group or site licenses
|
Develop platforms
|
· C++
· .NET
|
· C++
· .NET language binding
|
VB/VC++/DELPHI/
C#/vb.net
|
Platforms
|
Windows
|
ü Support
|
ü Support
|
ü Support
|
Linux
|
ü Support
|
ü Support
|
|
MacOS
|
ü Support
|
ü Support
|
|
3D API
|
Direct3D
|
ü Support
|
ü Support
|
ü Support
|
OpenGL
|
ü Support
|
ü Support
|
|
Other
|
|
· The Irrlicht Engine software renderer.
· The Apfelbaum Software Renderer
|
|
Architecture
|
Extensibility
|
· Extensible example framework
· Flexible plugin architecture allows engine to be extended without recompilation
· Use some other professional engines to achieve other features
|
|
|
Scripting
|
|
|
|
Materials & Textures
|
Materials
|
· Powerful material declaration language
· Multiple material
· Material LOD
· Multi-texture and multi-pass blending
· Projective texturing
· Textures can be provided and updated in real-time by plugins
|
· Provide common built in materials based on fixed function pipeline or programmable pipeline
· add new materials to Irrlicht at runtime, without the need of modifying/recompiling the engine
|
|
Textures and Mapping
|
自動產生MipMap;
自動調整紋理大小以滿足硬件需求。
支持可程序控制的紋理坐標生成和轉換。
|
· Bump mapping
· Parallax mapping
· Light maps
· Sphere mapping
|
DOT3 Bump mapping
沒有提供多層紋理和混合模式
|
Shaders
|
· Supports vertex and fragment programs, both written in assembler, and in Cg, DirectX9 HLSL, or GLSL
· Support many commonly bound constant parameters like worldview matrices, light state information, object space eye position etc
|
· Pixel and Vertex Shaders 1.1 to 3.0
· ARB Fragment and Vertex Programs
· HLSL
· GLSL
|
· Hardware Vertex Shaders
· HLSL
|
Scene Management
|
General
|
· Highly customizable, flexible scene management, not tied to any single scene type.
· Hierarchical scene graph; nodes allow objects to be attached to each other and follow each others movements, articulated structures etc
· Scene querying
|
· Using a hierarchical scene graph, can mix indoor and outdoor scene seamless together
· Extensible hierarchical scene management
|
|
BSP Support
|
BSP 場景的天空穹、粒子特效、高級材質屬性,乃至 BSP 的空間分割規則都會被正確識別、自動實現
|
· 對 BSP 的特性支持比較貧乏
|
對 BSP 的讀取存在 BUG
|
Other
|
|
|
|
Special effects
|
Particle System
|
· easily extensible emitters, affectors and renderers
· can be defined in text scripts for adjusting in real-time
· particle pooling
|
· Customizeable Particle systems for snow, smoke, fire, ...
|
Atmospheric effects like fog, cloud, sky (box and sphere), stars.
|
Light & Shadow
|
當前支持三種陰影:調整紋理陰影,調整模版陰影,附加模板陰影。不支持軟陰影
Multiple shadow rendering techniques,
|
· Dynamic lights
· Dynamic shadows using the stencil buffer
|
· Optimized dynamic stencil shadows
· DirectX Hardware Lighting
|
Other
|
· Support for skyboxes, skyplanes and skydomes
· Billboarding for sprite graphics
· Transparent objects automatically managed
|
· Realistic water surfaces
· Billboards
· Transparent objects
· Skyboxes
· Fog
· Texture animation
|
Billboard
|
Character Animation
|
|
· Skeletal animation
· blending of multiple animations
· variable bone weight skinning
· hardware-accelerated skinning
|
· Morph target animation:
· Skeletal animation
|
· Skeleton based, Key frame based, morph based animations
· Animations that can be enhanced by bone attaching or custom bone rotations.
|
Supported Formats
|
textures file formats
|
· PNG, JPEG, TGA, BMP or DDS
· 1D textures, volumetric textures, cubemaps and compressed textures (DXT/S3TC)
|
· PSD,JPG,PNG,TGA,BMP,PCX
|
|
mesh file formats
|
Milkshape3D, 3D Studio Max, Maya, Blender and Wings3D
|
· 3DS,OBJ,CSM,DAE,DMF,OCT,X,MS3D,MY3D,LMTS,BSP,MD2
|
3DS, X, MDL, MD2, MD3
|
Document
|
|
Great number of users and well documented.
|
well documented API with lots of examples and tutorials.
|
|
Other
|
GUI
|
|
|
|
2D Drawing
|
|
|
|
XML
|
ü Support
XML Converter: convert efficient runtime binary formats to/from XML for interchange or editing
|
ü Support
快速的XML分析器
|
|
Web Site
|
|
http://www.ogre3d.org
|
http://irrlicht.sourceforge.net
|
http://www.truevision3d.com
|
來自:http://www.cnblogs.com/cyberchen-net
CEGUI ,全稱 "Crazy Eddie's GUI System" ,是一個專門的用戶界面庫,開源并且免費,它支持 DirectX8 、 DirectX9 ,除了可以作為 OGRE 的界面外掛,還支持另一個免費開源的 3D 引擎 Irrlicht 。由于它功能的相對強大和靈活, OGRE 的開發團隊一直在推薦 OGRE 用戶使用這個 CEGUI 來開發用戶界面,逐漸拋棄 OGRE 本身過于簡陋的 GUI 插件。尤其是在行將到來的新版本 OGRE 1.5 的聲明中特別強調了這一點,盡管這個版本仍然暫時保留內置 GUI 系統,但 OGRE 1.5 將會是最后一個保留內置 GUI 的版本。 OGRE 看來似乎將專注于向一個純粹的、然而富于協作和擴展性的圖形引擎發展,這應該得益于它的龐大的社群支持,使得很多事情可以通過外掛一些更專業的引擎來實現,物理引擎使用 ODE 、 Tokamak 、 NovodeX ,網絡引擎使用 openTNL 、 RakNet 、 eNet ,聲音引擎使用 FMod 、 OpenAL ,以及這個界面引擎,使用 CEGUI 。外掛現成模塊的好處就是可以專注于一個方面,開發一個五臟俱全的游戲引擎并不是個容易的事情,市面上最負盛名的幾個商業引擎的開發, Unreal 、Renderware 、 Lithtech ,往往要耗費數百人年,并且在這些商業引擎中同樣會使用外掛的商業庫,在這個年代,沒有人可以從頭創建一切。 CEGUI 基于 Unicode ,所以它支持中文字體的顯示, 但是對中文字符的輸入現在尚未解決,因為不斷有來自中國的 OGRE + CEGUI 用戶的質詢和申請,對中文輸入的支持可能已在考慮中。 CEGUI 的官方主頁在這里: Crazy Eddie's GUI System1. CEGUI 的 CVS 下載 使用 WinCVS ,使用方法參考 OGRE 一起學 (1) —— 獲取 OGRE 。 (1) 在 WinCVS 主界面左欄選中 "cvshome" ; (2) 從主菜單選擇 [Admin]-[Command Line...] ,彈出 "Command line settings" 面板,在 "Settings" 選項卡的上部輸入框里,輸入如下指令進行登陸: cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/crayzedsgui login當彈出對話框問訊密碼時直接按回車。 (3) 成功登陸以后, WinCVS 主界面的下部信息欄會顯示這樣一條信息: ***** CVS exited normally with code 0 ***** code 0 就表示登陸成功,如果不成功,顯示為 code 1 。 (4) 登陸成功以后,再次打開 "Command line settings" 面板,輸入并運行如下指令: cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/crayzedsgui co cegui_mk2CVS 源代碼就開始下載了。耐心等它下載完畢。 (5) 這時候在 WinCVS 主界面左欄的 “cvshome” 下邊,多了一個 "cegui_mk2" 的文件夾。你可以到硬盤的 F:\cvshome\cegui_mk2\ 看一下,所有的源代碼都在那里了。 2. CEGUI 本體 lib 和 dll 的編譯: 最好使用 VS.Net 2003 的 VC7.1 來編譯,它對 OGRE 和 CEGUI 的支持都很好。 VC7.0 和 VC7.1 都可以。 (1) 首先要下載編譯 CEGUI 所需的依賴項,包括頭文件和庫,下載頁在這里: http://crayzedsgui.sourceforge.net/modules.php?name=Downloads&d_op=viewdownload&cid=6首先下載 CEGUI Mk-2 Win32 Dependencies: Common Files ,這些是公用的頭文件; 其次根據你的編譯器版本選擇對應的庫,例如我使用 VC.Net 2003 ,就選擇下載 CEGUI Mk-2 Win32 Dependencies: Libs for MSVC 7.1 。 下載以后分別解壓縮,把頭文件 cegui_mk2-deps-common\dependencies\include 和庫文件cegui_mk2-deps-vc7.1\dependencies\lib 這兩個目錄全部復制到 cvshome\cegui_mk2\dependencies 目錄下。 (2) 現在設置工作環境。打開 VS.NET 或 VS.NET 2003 ,在主菜單中選擇 [工具]-[選項...] ,打開 "選項" 面板,在左邊目錄選擇 [項目]-[VC++ 目錄] ,在右欄的 Include 和 Lib 目錄下添加以下路徑: 包含文件: X:\cvshome\cegui_mk2\dependencies\include 庫文件: X:\cvshome\cegui_mk2\dependencies\lib 注意把這幾條目錄放在目錄列表的最上面。 (3) OK. 現在打開 cvshome\cegui_mk2\makefiles\win32\VC++7.1\CEGUI.sln ,從主菜單中選擇 [生成]-[批生成...] ,打開 "批生成" 面板,點擊右邊的 [全選] 按鈕,然后點擊 [重新生成] 按鈕開始生成,靜待生成結束。 編譯生成的 *.dll 文件在 cvshome\cegui_mk2\bin 目錄下, *.lib 文件在 cvshome\cegui_mk2\lib 目錄下。 編譯成功以后,為了編譯以后的 CEGUI 相關項目,我們要在 VS.Net 的工作環境中添加 CEGUI 的 include 和 lib 目錄: 包含文件: X:\cvshome\cegui_mk2\include 庫文件: X:\cvshome\cegui_mk2\lib 3. 編譯 CEGUI 示例 (1) 首先來這里下載幾個 CEGUI 示例: http://crayzedsgui.sourceforge.net/modules.php?name=Downloads&d_op=viewdownload&cid=5其中的 CEGUI under Ogre - Demo 4 和 CEGUI under Ogre - Demo 7 是帶有源文件的,我們挑選 CEGUI under Ogre - Demo 4 來嘗試編譯。 (2) Demo 下載以后解壓縮,文件目錄不要亂放,要放到 cvshome 目錄下。 然后雙擊 cvshome\ogre_gui_demo4\CEGUIOgre_TestDriver1.sln 打開解決方案。 由于 CEGUI 作者的疏忽, Release 的項目設置里有幾個多余的 lua.lib ,會導致編譯時因找不到這些庫而失敗,所以我們需要刪除這幾個庫。打開 CEGUIOgre_Demo4 的項目屬性,刪除 Release 配置屬性的 [鏈接器]-[輸入]-[附加依賴項] 條目中的 liblua.lib liblualib.lib libluabind.lib 這幾個庫。 (3) 然后生成。 生成的 *.exe 文件在 cvshome\ogre_gui_demo4 的 Release 和 Debug 目錄下。但是你現在就打開運行肯定會失敗。 失敗的原因首先是因為這個 Demo 使用的是最新版本的 OGRE 的頭文件和庫來編譯,但是 Release 和 Debug 目錄下放的是老版本的 *.dll ,所以你需要把 cvshome\ogrenew\Samples\Common\bin 的 Release 和 Debug 目錄下的所有 *.dll 都復制到 cvshome\ogre_gui_demo4 的 Release 和 Debug 目錄下,用你的最新版本覆蓋舊版本,這是一個; 然后, CEGUI 的依賴項中需要一個 *.dll ,在 cvshome\cegui_mk2\dependencies\lib 中有兩個 *.dll ,把 xerces-c_2_5_0.dll 復制到 cvshome\ogre_gui_demo4\Release ,把 xerces-c_2_5_0D.dll 復制到 cvshome\ogre_gui_demo4\Debug 。 還有 CEGUI 本體的 *.dll ,在 cvshome\cegui_mk2\bin 目錄下,也要全部復制過來。 *.dll 文件名帶 _d 的是 Debug 版本。 OK. 現在示例可以運行了。
作為對 CEGUI 的一個應用實例,你可以下載下面這個 OGRE 粒子編輯器來體驗一下: ParticleEditor_AlphaDemo
2008年4月28日
C/C++頭文件一覽 C、傳統 C++
#include <assert.h> //設定插入點 #include <ctype.h> //字符處理 #include <errno.h> //定義錯誤碼 #include <float.h> //浮點數處理 #include <fstream.h> //文件輸入/輸出 #include <iomanip.h> //參數化輸入/輸出 #include <iostream.h> //數據流輸入/輸出 #include <limits.h> //定義各種數據類型最值常量 #include <locale.h> //定義本地化函數 #include <math.h> //定義數學函數 #include <stdio.h> //定義輸入/輸出函數 #include <stdlib.h> //定義雜項函數及內存分配函數 #include <string.h> //字符串處理 #include <strstrea.h> //基于數組的輸入/輸出 #include <time.h> //定義關于時間的函數 #include <wchar.h> //寬字符處理及輸入/輸出 #include <wctype.h> //寬字符分類
//////////////////////////////////////////////////////////////////////////
標準 C++ (同上的不再注釋)
#include <algorithm> //STL 通用算法 #include <bitset> //STL 位集容器 #include <cctype> #include <cerrno> #include <clocale> #include <cmath> #include <complex> //復數類 #include <cstdio> #include <cstdlib> #include <cstring> #include <ctime> #include <deque> //STL 雙端隊列容器 #include <exception> //異常處理類 #include <fstream> #include <functional> //STL 定義運算函數(代替運算符) #include <limits> #include <list> //STL 線性列表容器 #include <map> //STL 映射容器 #include <iomanip> #include <ios> //基本輸入/輸出支持 #include <iosfwd> //輸入/輸出系統使用的前置聲明 #include <iostream> #include <istream> //基本輸入流 #include <ostream> //基本輸出流 #include <queue> //STL 隊列容器 #include <set> //STL 集合容器 #include <sstream> //基于字符串的流 #include <stack> //STL 堆棧容器 #include <stdexcept> //標準異常類 #include <streambuf> //底層輸入/輸出支持 #include <string> //字符串類 #include <utility> //STL 通用模板類 #include <vector> //STL 動態數組容器 #include <cwchar> #include <cwctype>
using namespace std;
//////////////////////////////////////////////////////////////////////////
C99 增加
#include <complex.h> //復數處理 #include <fenv.h> //浮點環境 #include <inttypes.h> //整數格式轉換 #include <stdbool.h> //布爾環境 #include <stdint.h> //整型環境 #include <tgmath.h> //通用類型數學宏
本文轉自CSDN,作者WindsonZhL(風之子)
|
|
隨筆:13
文章:4
評論:6
引用:0
| 日 | 一 | 二 | 三 | 四 | 五 | 六 |
---|
27 | 28 | 29 | 30 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
|
常用鏈接
留言簿(5)
隨筆檔案
文章檔案
收藏夾
搜索
最新評論

閱讀排行榜
評論排行榜
|
|