[CGAL, CMake, Visual Studio, BOOST, Eigen] CMake 編譯 CGAL 之流程
首先需要一些事前準備的安裝軟體,如下 :
- Visual Studio (版本隨意,我自己是用2019,盡量不要2013)
- CMake (URL: https://cmake.org/download/)
- CGAL (4.11.3, URL: https://github.com/CGAL/cgal/releases)
- EIGEN (3.2.10, URL : http://eigen.tuxfamily.org/index.php?title=Main_Page)
- BOOST (1.65.1, URL : https://sourceforge.net/projects/boost/files/boost-binaries/1.65.1/)
- Visual C++ (14.0, MSVC140)
我直接上2019的原因就是有很多相關SDK或Framwork都比較新,
可以向下相容,比較不會有少東少西的問題,但要注意的是MSVC版本到底是要以哪個為主,
如果是要以MSVC140,那Visual Studio 2019安裝時記得要裝MSVC140相關的套件!
CMake的部分,詳細如下 :
- where is the source code : CGAL路徑
- where to build the binaries : CGAL路徑\build (自行建立一個build資料夾)
- 執行configure,選擇Visual Studio版本
- 執行後發現有些路徑需要設置,例如 : BOOST、EIGEN3...
- 設置路徑完畢後將以下打勾
- 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
- 執行Generate以及Open Project
- 選擇Debug / x64
- ALL_BUILD右鍵建置
- 選擇Release / x64
- ALL_BUILD右鍵建置
- 最後在lib底下有出現相關lib以及bin底下有出現相關dll則完成
- 剩下的就是要設置屬性配置,dll可丟置專案底下或system32底下。
有一些踩BUG的部分,如下 :
- 若出現 xxx.dll 無法解析的外部符號時
- 有可能是某某SDK或Framwork沒裝,反正就是找不到需要的lib,除了安裝完前面所說的以外,還必須要在其他相依姓那邊增加需要的lib。
- 若出現找不到xxx.dll時
- 將dll丟進專案內或是system32。
- CMake編譯時出現Boost not found,但後面卻有版本號時
- 將Visual Studio升級版本,確定MSVC版本是對應相同的。
留言
張貼留言