关于调用 库函数的报错
-
将湍流模型和求解器成功编译到自己的库中,然后在算例system/controlDict中加入如下命令进行调用,如下:
libs ("libkOmegaMHD.so");
但是运行算例会报如下错误,显示未定义的符号,以及后面divDevRhoReff这个可压缩函数,和GeometricField、fvPatchField、volMesh、Vector这几个,并无法加载调用湍流模型,关键是湍流模型已经已经编译通过了,,,
Create time--> FOAM Warning : From function dlOpen(const fileName&, const bool) in file POSIX.C at line 1179 dlopen error : /home/kdd/OpenFOAM/kdd-2.3.1/platforms/linux64GccDPOpt/lib/libkOmegaMHD.so: undefined symbol: _ZNK4Foam14incompressible9RASModels9kOmegaMHD13divDevRhoReffERKNS_14GeometricFieldIdNS_12fvPatchFieldENS_7volMeshEEERNS3_INS_6VectorIdEES4_S5_EE --> FOAM Warning : From function dlLibraryTable::open(const fileName&, const bool) in file db/dynamicLibrary/dlLibraryTable/dlLibraryTable.C at line 99 could not load "libkOmegaMHD.so" Create mesh for time = 0
-
这个问题已经解决了,整理一下发个帖出来,哈哈!
-
是我C文件里少了divDEVRhoReff 这个函数的具体实现,悲伤自己不是学计算机的.......
-
我也遇到了这个问题!解决的怎么样啦??求教呀
-
@一颗鸭蛋 我也遇到同样的问题,我修改了komegaSST湍流模型,编译通过了,但是打开paraFoam的时候出现类似报错如下
请问你最后怎么解决的呢? -
我当时是由于湍流模型虽然编译通过但其实还是有问题的,具体就是H文件申明的虚函数divDevRhoReff,在C文件中没有具体的实现。你可以根据H文档最后几个虚函数(virtual函数)再好好对照一下看看C文档中是否都有对应的具体实现。其次我是2.3.1版本。
2019年11月10日 02:25
5/7
2020年10月5日 07:47