(1) 選擇 Win32 主控台應用程式
(2) 輸入專案名稱、位置
(3) 為方案建立目錄 (optional)

假設你的專案位置在C槽,專案名稱輸入Project,
則以上三步驟會產生以下資料夾結構:
C |-- Project | |-- Project.sln | |-- Project.sdf | |-- Project | | |-- Project.vcxproj | | |-- Project.vcxproj.filters
Visual Studio的專案結構大致如上圖,
會先有一個「大專案」(OpenGL),
大專案之下有很多個「小專案」(example2、example3...etc)。
在Visual Studio中,
大專案稱為「方案」,小專案稱為「專案」。
以下為方便區分,依然以大、小專案分別稱呼方案與專案。
Project.sln就是大專案,
點開他就可以看到這個大專案裡包含的所有小專案。
建立一個全新專案的時候,
VC預設會幫你在大專案之下,建立一個跟大專案同名的小專案。
上述步驟(3)有勾選的話,就會自動幫你建立小專案的資料夾。
2. Win32 應用程式精靈
(1) 下一步
(2) 點選「主控台應用程式」、「空專案」
3. 新增小專案
我的話會把系統預設的Project小專案刪掉,
自己再建立一個其他名稱的小專案。(如:Project1-1)
(1) 在大專案上點右鍵
(2) 加入 → 新增專案
(3) 選擇「Win32 主控台應用程式」
(4) 填入專案名稱
(5) 指定專案位置 (放到大專案的資料夾之下)
4. 設定小專案屬性
(1) 在小專案上點右鍵,選擇「屬性」
(2) 偵錯 → 工作目錄 → 填入「../exec」(預設為$(ProjectDir)) (glut32.dll放在這地方)
(3) C/C++ → 一般 → 其他Include目錄 → 填入「../include」(glut.h放在這地方)
(4) 連結器 → 一般 → 其他程式庫目錄 → 填入「../lib」(glut32.lib放在這地方)
(5) 連結器 → 輸入 → 其他相依性 → 填入「glut32.lib」
5. 新增程式碼
(1) 在小專案上點右鍵
(2) 加入 → 新增項目
(3) 選擇「C++檔」
(4) 輸入檔名與位置 (一般都是輸入main.cpp)
6. 測試程式
首先確定你的大專案資料夾下已經有以下檔案,並放在對的資料夾裡。
(a) exec\glut32.dll
(b) include\glut.h
(c) lib\glut32.lib
之後依照以下步驟測試程式。
(1) 點兩下「原始程式檔」下的「main.cpp」
(2) 新增以下測試程式碼 (如果main.cpp是空檔案的話,建置專案時會出現錯誤)
(3) 建置 → 建置方案
(4) 偵錯 → 啟動但不偵錯
#include "glut.h" void display(); void reshape(GLsizei, GLsizei); int main(int argc, char** argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); glutCreateWindow("sample"); glutDisplayFunc(display); glutReshapeFunc(reshape); glutMainLoop(); return 0; } void display() { glClearColor(0.0f, 0.0f, 0.0f, 0.0f); glClear(GL_COLOR_BUFFER_BIT); glColor3f(1.0f, 1.0f, 1.0f); glutSolidTeapot(1.0);//內建的茶壺 glFlush(); } void reshape(GLsizei w, GLsizei h) { glViewport(0, 0, w, h); glMatrixMode(GL_PROJECTION); glLoadIdentity(); glFrustum(-0.5, 0.5, -0.5, 0.5, 1.0, 20.0); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); gluLookAt(0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0); }
7. 附註
(1)
如果大專案裡有多個小專案時,「啟動但不偵錯」只會執行其中一個小專案。
此時可以在想要執行的該專案上按右鍵,選擇「設定為起始專案」即可。
(2)
把.h、.lib等檔案放在大專案資料夾底下,
而不是放在小專案資料夾底下的理由是,
每個小專案都可以用同一份.h、.lib檔,
而不用每個小專案裡面都放相同的東西佔空間,
除此之外,有更動時也只要改一份即可。
(3)
在4.(2)時,更改了工作目錄為「../exec」,
因此需要把所有主程式在執行時,
需要讀到的檔案 (如: 場景檔) 都放在那個工作目錄下。
沒有留言:
張貼留言