wmake 自定義編譯求解器和庫

2021-10-07 18:08:50 字數 1062 閱讀 6800

在編譯求解器和庫之前,我們分析了介紹了幾種常見求解器的主程式(.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...