库的编译问题

1.最近自己编译了新的库,那么我在编译新的求解器时(以DPMFoam为基础)
,怎样在Make的file或是options里面加上这个库呢?这个库我编译在了
FOAM_USER_APPBIN里面,叫liblagrangianIntermediatemy.so。

2.把库文件放在options和file里面有什么区别吗?原来的库为
liblagrangianIntermediate.so,放在了DPMFoam下Make的options里。

3.我想以DPMFoam为基础,通过修改其调用的库(如上),得到新的求解器的话,是不是只需要在DPMFoam下Make的options里换成我自己写的库就行了,还是说可能用到的其他程序里面都要改,例如DPMTurbulenceModels里面(如果有用到这个库的话)。

  1. 加库:
    在 Make/options 里,如
EXE_LIBS = \
    ... \
    -L$(FOAM_USER_LIBBIN) -llagrangianIntermediatemy

-L 表示路径,-l 后面跟你的库的名称,把库文件前面的 lib 和后面的 .so 去掉。

  1. options 和 files 意义是不同的。files 指出编译所需要的源文件和编译生成的文件;而 options 指定所需要的库和头文件

  2. 对,只需要添加你自己的库就行,因为你编译的库用到了其他的库,但是你的库只是这个程序用的话,只需要在这个程序的源里面的 Make/options 里面添加。

1 Like

感谢大佬的细心回复,我马上试试!