update: 2012/10/02
reference:
1. RWTH Graphics: OpenMesh
2. OpenMesh: Compiling OpenMesh
A. 說明:
1. 從 OpenMesh 官網取得 OpenMesh Libraries 的方式有三個:
a. 從 RWTH Graphics: Download 下載最新的 Precompiled Binaries
(Windows Binary setups) 來安裝.(目前為: OpenMesh 2.2)
b. 從 RWTH Graphics: Download 下載最新的 Source Code
(目前為: OpenMesh 2.2), 解壓縮後開啟內附的 Visual Studio 專案檔,
在 Visual Studio 裡進行編譯的工作.
c. 從 RWTH Graphics: Download 下載最新的 Source Code
(目前為: OpenMesh 2.2), 解壓縮後先進行編譯來產生 Visual Studio 專案檔,
然後再開啟該 Visual Studio 專案檔 來進行編譯的工作.
2. 以下會記錄這三種方式, 並且記錄其產生的 Libraries 與 Headers 目錄位置,
以提供之後的專案使用; a. 是最容易的方式且似乎看不到錯誤訊息, b. 次之,
c. 是較不易處理的方式.
3. 之後有使用到 OpenMesh 的專案, 會先使用 a. Precompiled Binaries 的檔案,
如果有問題的話, 再改用 b. 所產生的檔案. (c. 算是沒有完全成功的)
--------------------------------------------------------------------------------------------
B. 方式一: 安裝 Precompiled Binaries
1. 到 RWTH Graphics: Download 下載:
Precompiled Binaries (Windows Binary setups):
OpenMesh 2.2 (32-bit VS2010)
檔名: OpenMesh-2.2-VS2010.exe
2. 安裝後, 預設位置為: C:\Program Files (x86)\OpenMesh 2.2
3. OpenMesh Libraries 目錄位置
C:\Program Files (x86)\OpenMesh 2.2\lib
內含: OpenMeshCore.lib
OpenMeshCored.lib
OpenMeshTools.lib
OpenMeshToolsd.lib
(有 d 的為 debug 版本)
4. OpenMesh Headers 目錄位置
C:\Program Files (x86)\OpenMesh 2.2\include
--------------------------------------------------------------------------------------------
C. 方式二: 使用預設的 Visual Studio 專案檔來編譯
1. 到 RWTH Graphics: Download 下載最新的 Source Code:
OpenMesh 2.2 ( zip ), 檔名: OpenMesh-2.2.zip
2. 將 OpenMesh-2.2.zip 解壓縮後(在此為 C:\Lanli\projects\OpenMesh-2.2),
開啟 VS2008OpenMesh.sln 檔案, 由於我安裝的是 Visual Studio 2010,
因此會啟動 "轉換精靈" 進行轉換.(在此, 選擇: 轉換前不建立備份)
3. 接著, 將轉換後的方案, 分別建置 Debug 與 Release 的版本.
Debug 版: 建置: 3 成功、0 失敗、0 最新、0 略過
Release 版: 建置: 3 成功、0 失敗、0 最新、0 略過
4. OpenMesh Libraries 目錄位置
C:\Lanli\projects\OpenMesh-2.2\lib
內含: libOpenMeshCore.lib
libOpenMeshCored.lib
libOpenMeshTools.lib
libOpenMeshToolsd.lib
(有 d 的為 debug 版本)
5. OpenMesh Headers 目錄位置
C:\Lanli\projects\OpenMesh-2.2\src
--------------------------------------------------------------------------------------------
D. 方式三: 編譯 Source Code
1. 到 RWTH Graphics: Download 下載最新的 Source Code:
OpenMesh 2.2 ( zip ), 檔名: OpenMesh-2.2.zip
2. 將 OpenMesh-2.2.zip 解壓縮後更名
(在此為 C:\Lanli\projects\OpenMesh-2.2-build)
*******************************************************************
3. 安裝以下軟體:
a. CMake - Cross Platform Make:
Binary distributions: Windows (Win32 Installer) > cmake-2.8.9-win32-x86.exe
b. Qt framework:
Qt libraries 4.8.3 for Windows (VS 2010, 235 MB)
檔名: qt-win-opensource-4.8.3-vs2010.exe
c. Doxygen:
A binary distribution for Windows: doxygen-1.8.2-setup.exe
d. GLUT:
GLUT 3.7 Source Code Download for Win32
檔名: glut37.zip
(1). 先用文字編輯器開啟以下檔案:
C:\Lanli\projects\OpenMesh-2.2-build\cmake\FindGLUT.cmake
可以看到 glut 預設的目錄位置是在 C:/libs 下:
IF (WIN32)
FIND_PATH( GLUT_INCLUDE_DIR NAMES GL/glut.h
PATHS ${GLUT_ROOT_PATH}/include
"C:/libs/glut-3.7/include" )
FIND_LIBRARY( GLUT_glut_LIBRARY NAMES glut32 glut
PATHS
${OPENGL_LIBRARY_DIR}
${GLUT_ROOT_PATH}/Release
"C:/libs/glut-3.7/lib"
)
ELSE (WIN32)
(2). 先在 C:/ 下建立 libs 資料夾, 然後將 glut37.zip 解壓縮到其下.
(3). 可以看到 include 與 lib 的目錄位置, 但是 lib 目錄內卻沒有 .lib 檔案.
C:\libs\glut-3.7\include
C:\libs\glut-3.7\lib
(4). 所以需要自行編譯來產生 .lib 檔案, 編譯方式如下:
(說明: 在此, 我還沒有編譯成功)
(a). 先看 C:\libs\glut-3.7\README.win 檔案的說明.
(b). 將 C:\libs\glut-3.7\glutwin32.mak 檔案, 取消唯讀屬性.
(c). 用文字編輯器開啟 glutwin32.mak 檔案, 修改如下:
(可能還要修改其它項目)
# Win95 dll directory
DLLINSTALL = \windows\system
# WinNT dll directory
#DLLINSTALL = \winnt\system32
(d). 由於 glutmake.bat 使用了 nmake 來編譯; 而 nmake 是屬於 VisualC++
編譯器系統的一部分. 因此, 必須要讓目前的環境能在 Visual Studio 的
外部來使用 VisualC++ 的編譯器系統, 方式如下:
將 C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin 下的
vcvars32.bat 檔 copy 到 C:\libs\glut-3.7 目錄下.
進入 "命令提示字元" :
C:\>cd libs\glut-3.7
C:\libs\glut-3.7>vcvars32.bat
Setting environment for using Microsoft Visual Studio 2010 x86 tools.
(e). 進行編譯:
C:\libs\glut-3.7>glutmake.bat
(5). 由於編譯失敗, 因此改成如下的方式:
(a). 到 Nate Robins - OpenGL - GLUT for Win32 下載:
glut-3.7.6-bin.zip (117 KB) , 檔名: glut-3.7.6-bin.zip
(6). 解壓縮後, 將 glut32.lib copy 到 C:\libs\glut-3.7\lib 目錄下.
*******************************************************************
4. 執行 cmake-gui 程式
a. 設定 source code 的位置: (OpenMesh 最上層的目錄)
C:/Lanli/projects/OpenMesh-2.2-build
b. 設定 build 的位置: (先在 OpenMesh 最上層的目錄, 建立 build 資料夾)
C:\Lanli\projects\OpenMesh-2.2-build\build
c. 按下 "Configure"
Specify the generator for this project:
Visual Studio 10
Use default native compilers
> Finish
d. 按下 "Generate"
************************************************************
* ACG Buildsystem *
* *
* Package : OpenMesh *
* Version : 2.2 *
************************************************************
Configuring done
Generating done
// 完成5. 開啟 C:\Lanli\projects\OpenMesh-2.2-build\build\OpenMesh.sln 檔案
(Visual Studio 的專案檔)
6. 對開啟的方案, 分別建置 Debug 與 Release 的版本.
Debug 版: 建置: 17 成功、2 失敗、0 最新、5 略過
Release 版: 全部重建: 15 成功、4 失敗、 5 略過
7. OpenMesh Libraries 目錄位置:
C:\Lanli\projects\OpenMesh-2.2-build\build\Build\lib
內含:
OpenMeshCored.lib
OpenMeshToolsd.lib
(有 d 的為 debug 版本)
8. OpenMesh Headers 目錄位置
C:\Lanli\projects\OpenMesh-2.2-build\src
沒有留言:
張貼留言
注意:只有此網誌的成員可以留言。