在編譯求解器和庫之前,我們分析了介紹了幾種常見求解器的主程式(.c檔案)、一些相關的標頭檔案,以及make
資料夾,以上部分決定了求解器檔案的基本架構:
1.求解器的編譯
完成了以上部分**的編寫以後,就可以運用wmake
指令編譯自定義求解器了。求解器的名稱及路徑資訊在files
檔案中進行指定,以icofoam為例:
icofoam.c
/icofoam
值得注意的是,files
檔案除了必須包含的主程式.c 檔案外,還需要包含其它沒有作為庫動態鏈結的檔案並且打算被編譯的檔案。之後,我們可以在終端鍵入wmake
來進行求解器的編譯,或者直接在求解器資料夾下輸入wmake
。
在此之前,如果你已經對求解器進行過編譯,需用wclean
指令刪除依賴包檔案(擴充套件名為.deb
),否則,可能會報錯。
2.編譯庫
建立自定義求解器過程中,往往需要我們編譯一些自己的庫檔案(.so
檔案),這是,我們需要對make
資料夾進行一些修改,現總結如下:
首先,files
檔案存在一定差別,其**大致如下:
lib = $(foam_user_libbin)
對於options
檔案,exe_libs 需要替換為 lib_libs,用來指定編譯庫的時候需要
鏈結的庫(這部分影響不大,貌似不修改也沒什麼影響)
另外,對於舊版本的openfoam來說,比如我使用的4.1版本,需要採用wmake libso
進行庫的編譯。
本文參考了東嶽流體上的一部分內容,對我幫助極大,感興趣的小夥伴可以走起。
使用自定義 OpenSSL 庫編譯 nginx
編譯安裝 nginx 時,預設使用系統自帶的 openssl 庫,但其一般很老,不支援如 sdpy 等新功能。with openssl引數雖然可以指定 openssl 路徑,但只支援 openssl 的源 不支援已編譯好的 openssl。每回更新 nginx 都要重新編譯 openssl 肯定很麻...
自定義指令和自定義事件
type text v my focus div root type text v my focus div body src lib vue.js script 自定義指令有兩種定義形式 1.全域性定義 2.區域性定義 vue.directive 指令名稱,指令的配置選項 v focus 全域性定...
antd自定義分頁器 自定義分頁器例項
def init self,current page num,all count,request,per page num 2,pager count 11 封裝分頁相關資料 param current page num 當前訪問頁的數字 param all count 分頁資料中的資料總條數 pa...