FreeCAD是個開源的CAD軟體,雖然功能還不是那麼完善,但其很好的示範了如何搭建起一個完整的CAD系統 - 跨平台的。
之前也研究過如何在Windows下搭建起一個CAD系統,模仿當前工作中做的那個軟體,但牽扯到的都是些MFC,VBA,COM啥的。雖然我一直覺得那些抹黑微軟技術,鼓吹Mac和Linux的行為很矯情,在這點上我還是寧願俗氣點:不能跨平台,總感覺心裡缺了點啥的~~~
現在FreeCAD使用了cMake在各個平台上統一配置編譯系統,在Windows上不再提供Visual Studio工程檔案,要自己產生,步驟自然要麻煩了點, 雖然其官方提供了一篇詳細的教程,還不不足以詳細到讓你不走些彎路,這裡補充些注意點:
- 如果你對最新提交的代碼不是那麼敏感的話,就不要用SVN下,人家上面有穩定版本提供下載的。
- 下載SourcePack和LibPack後,要解壓到同一目錄下 ,注意,是整合到同一目錄下,不是解壓成一個目錄包含成兩個子目錄。cMake是以這種方式去找檔案的。
- cMake需要自己下載安裝, 啟動後在"Where is the source code"中輸入source和lib所在的目錄;在"Where to build the binaries"中輸入你要產生的VS工程檔案所在的目錄,然後點Configure,如果Configure成功的話,你就可以點Generate產生工程檔案了
- 一般情況下,你Configure會失敗,比如找不到特定的目錄:CMake Error at src/Mod/CMakeLists.txt:22 (add_subdirectory):
add_subdirectory given source "Start" which is not an existing directory.
此時你可以直接開啟CMakeLists檔案,用#符號注釋掉那一行
- Generate成功後,開啟VS的solution檔案直接編譯即可成功。但是試著用Incredibuild編譯,不能成功。
- 然後在運行FreeCAD之前,你需要把LibPack的bin目錄添加到Path環境變數中,不然這麼多第三方的DLL是找不到的。