xmake编译openfoam的自定义求解器

关于 openfoam 自定义求解器的编译主要是使用

 wmake 
来进行编译。

它主要通过一个 files 文件还有一个 options 文件来进行配置。在 files 里配置源文件和输出的可执行文件目录,在 options 文件里主要进行配置头文件目录和要连接使用到的库目录。在执行了

 wmake 
命令后就可以看到一个调用了 g++ 的命令行包括了很多参数,为了可以更方便的编译,在这里就可以配置xmake.lua文件来使用
xmake
来进行编译。

所以只需要配置好头文件目录和库目录那么就可以使用 xmake 来编译。

使用 xmake 编译 openfoam 自定义求解器的一个示例为:

Example:
        
            add_rules("mode.debug", "mode.release")
            
            add_includedirs("/usr/lib/openfoam/openfoam2312/src/finiteVolume/lnInclude")
            add_includedirs("/usr/lib/openfoam/openfoam2312/src/meshTools/lnInclude")
            add_includedirs("/usr/lib/openfoam/openfoam2312/src/OpenFOAM/lnInclude")
            add_includedirs("/usr/lib/openfoam/openfoam2312/src/OSspecific/POSIX/lnInclude")
            
            target("helloworld")
            add_cxflags("-DOPENFOAM=2312 -DWM_DP -DWM_LABEL_SIZE=32 -DNoRepository -g")
            add_files("./helloWorld.cpp")
            add_linkdirs("/usr/lib/openfoam/openfoam2312/platforms/linux64GccDPInt32Opt/lib")
            add_links("meshTools")
            add_links("finiteVolume")
            add_links("OpenFOAM")
            add_links("dl")
            add_links("m")
            target_end()openfoam2312:~/helloWorld/
        
    

也是可以正常调试的

运行结果

hljs.highlightAll();