2012年10月2日 星期二

Get OpenMesh Libraries for Visual Studio 2010

since: 2012/10/02
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. 以下會記錄這三種方式, 並且記錄其產生的 LibrariesHeaders 目錄位置,
         以提供之後的專案使用; 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

沒有留言:

張貼留言

注意:只有此網誌的成員可以留言。