最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

vscode+msys2+cmake編譯調(diào)試Fluent UDF記錄

2023-04-02 23:14 作者:van德瓦爾斯  | 我要投稿

????????Fluent的UDF編譯調(diào)試一直以來是個比較麻煩的事,并且想要調(diào)用一些第三方動態(tài)庫時,就必須要用一些編譯小軟件才能做到,而Fluent內(nèi)并沒有提供鏈接的方法。所以最近也是琢磨了如何使用vscode編譯調(diào)試UDF,并在此將最近配置好的編譯調(diào)試環(huán)境記錄下來。

1. 環(huán)境準(zhǔn)備

????????本文使用的Fluent版本是2019 R3,還需要安裝好[msys2](https://www.msys2.org/)和[vscode](https://code.visualstudio.com/Download)。


????????a. 安裝好msys2后,需要注意的是在MINGW64環(huán)境下安裝mingw-w64 GCC編譯工具鏈,順便還可以安裝好cmake工具。有關(guān)于msys2各個環(huán)境的區(qū)別可以查看[msys2文檔](https://www.msys2.org/docs/environments/),目前Fluent UDF使用的C運行時庫應(yīng)該還是msvcrt (PS: 個人推斷,待補充信息)。

????????編譯工具安裝完成后,需要將其路徑添加至系統(tǒng)環(huán)境變量中,例如在Path中添加C:\msys64\mingw64\bin (PS: 重啟電腦以確保更新),以方便vscode的cmake插件搜索到。


????????b. 安裝完vscode,需要在擴展商店里安裝C/C++,CMakeCMake Tools等插件。


????????c. 定位到Fluent目錄C:\Program Files\ANSYS Inc\v195\fluent\fluent19.5.0\win64文件夾,將win64下所有文件夾先打包備份,然后對各個文件夾里的 fl1950.exe 重新生成導(dǎo)入庫。 具體命令如下:? ??

????????注意node結(jié)尾的文件里,是fl_mpi1950.exe,命令里需要對應(yīng)改動。

????????同樣,定位到C:\Program Files\ANSYS Inc\v195\fluent\fluent19.5.0\multiport\win64文件夾下,打包備份。以上述方法重新生成導(dǎo)入庫。

????????對.\mpi\shared\和.\net\shared\兩個文件夾下分別執(zhí)行命令

?

????????d.修改C:\Program Files\ANSYS Inc\v195\fluent\fluent19.5.0\cortex\src\cx.h文件,查找strcasecmp來定位到需要修改的一行,按下圖方式修改保存。

修改前
修改后

2. 項目文件

? ? ? ? demo中的文件結(jié)構(gòu)如圖所示,自己編寫的C源文件等放在src文件夾下,而其他引入的庫文件放在import文件夾下。

????????相關(guān)文件https://github.com/bronya19c/CMake_Project_Demo_for_UDF

????????根據(jù)計算模型和代碼,需實時更改根目錄和src文件下的CMakeLists.txt的內(nèi)容

根目錄下CMakeLists.txt
src文件夾下CMakeLists.txt

3. 編譯調(diào)試

????????將文件整理好后,在vscode的cmake插件里選擇“配置所有項目”,并確保ud_io1.h或者udf_names.c正常生成。若無錯誤產(chǎn)生,此時再點擊vscode最下方狀態(tài)欄上的“build”按鈕,生成libudf,完成編譯。

cmake配置完項目
編譯生成的libudf.dll

????????關(guān)于調(diào)試,確保編譯生成的是Debug版本的libudf,在Fluent加載好libudf.dll之后,利用vscode的附加到進程調(diào)試工具,實現(xiàn)對udf的調(diào)試。在根目錄創(chuàng)建 .vscode 文件夾,其下創(chuàng)建的launch.json文件如下圖。

????? ? 然后vscode里切到test.c文件,按F1鍵輸入“調(diào)試”選擇調(diào)試C/C++文件,之后選擇gdb 附加,便可以附加到Fluent的進程中調(diào)試了。注意查看Fluent的控制臺內(nèi)容,其中host是我們這次要附加調(diào)試的進程,按照PID即可以對應(yīng)上。

Fluent控制臺的進程信息
附加到進程可輸入PID搜索

????????自此可以斷點調(diào)試了。

????????2023.4.2 初稿

參考鏈接:

[1]?https://www.cnblogs.com/liusuanyatong/p/11259628.html?

????GCC編譯UDF和gdb調(diào)試UDF - 硫酸亞銅 - 博客園 (cnblogs.com)

[2]?https://www.bilibili.com/video/BV1A7411f7jT?

????CMake簡明教程以及現(xiàn)代CMake

[3]?https://www.cnblogs.com/liusuanyatong/p/11259591.html?

????編譯udf小軟件(附視頻教程) - 硫酸亞銅 - 博客園 (cnblogs.com)

[4]?https://zhuanlan.zhihu.com/p/492619039?

????Visual Studio或CLion使用CMake編譯、調(diào)試Fluent UDF - 知乎 (zhihu.com)

vscode+msys2+cmake編譯調(diào)試Fluent UDF記錄的評論 (共 條)

分享到微博請遵守國家法律
玉屏| 内乡县| 醴陵市| 包头市| 崇礼县| 图们市| 宁夏| 和静县| 安吉县| 敦化市| 炉霍县| 临洮县| 清丰县| 安福县| 昭平县| 湘阴县| 莱芜市| 定南县| 蒙城县| 调兵山市| 同心县| 正安县| 潢川县| 沭阳县| 卓资县| 泸水县| 青州市| 莫力| 东阿县| 准格尔旗| 建平县| 信丰县| 固原市| 长葛市| 开化县| 曲阳县| 奉节县| 棋牌| 衡水市| 哈密市| 卓尼县|