[CGAL, CMake, Visual Studio, BOOST, Eigen] CMake 編譯 CGAL 之流程

首先需要一些事前準備的安裝軟體,如下 :
  1. Visual Studio (版本隨意,我自己是用2019,盡量不要2013)
  2. CMake (URL: https://cmake.org/download/)
  3. CGAL (4.11.3, URL: https://github.com/CGAL/cgal/releases)
  4. EIGEN (3.2.10, URL : http://eigen.tuxfamily.org/index.php?title=Main_Page)
  5. BOOST (1.65.1, URL : https://sourceforge.net/projects/boost/files/boost-binaries/1.65.1/)
  6. Visual C++ (14.0, MSVC140)
特別要注意的是Visual C++版本,
我直接上2019的原因就是有很多相關SDK或Framwork都比較新,
可以向下相容,比較不會有少東少西的問題,但要注意的是MSVC版本到底是要以哪個為主,
如果是要以MSVC140,那Visual Studio 2019安裝時記得要裝MSVC140相關的套件!

CMake的部分,詳細如下 : 
  1. where is the source code : CGAL路徑
  2. where to build the binaries : CGAL路徑\build (自行建立一個build資料夾)
  3. 執行configure,選擇Visual Studio版本
  4. 執行後發現有些路徑需要設置,例如 : BOOST、EIGEN3...
  5. 設置路徑完畢後將以下打勾
    • BUILD_SHARED_LIBS
    • BUILD_TESTING
    • CGAL_DONT_OVERRIDE_CMAKE_FLAGS
    • CGAL_ENABLE_PRECONFIG
    • WITH_CGAL_Core
    • WITH_CGAL_ImageIO
    • WITH_Eigen3
    • WITH_GMP
    • WITH_MPFR
  6. 執行Generate以及Open Project
  7. 選擇Debug / x64 
  8. ALL_BUILD右鍵建置
  9. 選擇Release / x64
  10. ALL_BUILD右鍵建置
  11. 最後在lib底下有出現相關lib以及bin底下有出現相關dll則完成
  12. 剩下的就是要設置屬性配置,dll可丟置專案底下或system32底下。
有一些踩BUG的部分,如下 : 
  1. 若出現 xxx.dll 無法解析的外部符號時
    • 有可能是某某SDK或Framwork沒裝,反正就是找不到需要的lib,除了安裝完前面所說的以外,還必須要在其他相依姓那邊增加需要的lib。
  2. 若出現找不到xxx.dll時
    • 將dll丟進專案內或是system32。
  3. CMake編譯時出現Boost not found,但後面卻有版本號時
    • 將Visual Studio升級版本,確定MSVC版本是對應相同的。
最後必須說,版本請看清楚確實,否則一堆坑都是少東少西來的...

留言

這個網誌中的熱門文章

[TensorFlow, C++, Visual Studio, Windows] TensorFlow C++ 如何編譯與解決BUG (How to build Tensorflow C++ API with Visual Studio and solve BUG)

[Ubuntu, Docker, Docker Swarm] Docker Swarm 建置 Jupyter Notebook 流程

[Docker Swarm] Docker Swarm 指令