未知路径缺少增强文件

时间:2019-07-03 23:20:46

标签: openfoam wmake

我收到缺少增强文件的错误,但据我所知,我已经通过YAST(OpenSUSE)安装了它们。但是,我仍然收到错误。我需要帮助解决此问题。

当从YAST包安装无法正常工作时,我从源代码安装了boost。它仍然没有工作。我安装了boost-1.70.0

/usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: cannot find -lboost_date_time
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: cannot find -lboost_filesystem
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: cannot find -lboost_system
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: cannot find -lboost_regex
collect2: error: ld returned 1 exit status
make: *** [/home/hafiz/OpenFOAM/OpenFOAM-6/wmake/makefiles/general:142: /home/hafiz/OpenFOAM/hafiz-6/platforms/linux64GccDPInt64Opt/bin/laminarBuoyantSimpleSMOKE] Error 1

我希望通过源代码安装boost,可以解决此错误,但该错误仍然存​​在。如此处所述,boost编译成功:

...updated 184 targets...


The Boost C++ Libraries were successfully built!

The following directory should be added to compiler include paths:

    /home/hafiz/Softwares/boost/boost_1_70_0

The following directory should be added to linker library paths:

    /home/hafiz/Softwares/boost/boost_1_70_0/stage/lib

我不确定编译器包含路径和链接器库路径是否会自动添加。请帮助解决此问题!谢谢

1 个答案:

答案 0 :(得分:0)

似乎您使用的是OpenFOAM和OpenSMOKE ++,因此您已经遗漏了许多重要信息来实际回答此问题(例如,OpenFOAM使用wmake而不是明确进行make!)。尽管如此,我将回答假设您(1)已安装OpenFOAM,(2)正在编译OpenSMOKE ++应用程序/求解器,以及(3)您唯一的问题是wmake找不到您已安装的增强功能。

您需要将提升路径添加到您的(求解器)/ Make / files EXE_LIBS部分,以便wmake找到提升:

EXE_LIBS = \
-L$(FOAM_USER_LIBBIN) \
-lfiniteVolume \
-lmeshTools \
-lsampling \
-lfvOptions \
-L$(BOOST_LIB_DIR) 

BOOST_LIB_DIR是设置为/ home / hafiz / Softwares / boost / boost_1_70_0 / stage / lib的环境变量

有关更多信息,请参见《 OpenFOAM用户指南》第3.2节:编译应用程序和库https://cfd.direct/openfoam/user-guide/v6-compiling-applications/#x10-710003.2

此外,stackoverflow并不是OpenFOAM的最佳选择-cfd-online.com有一个CFD / OpenFOAM特定论坛,更适合此类问题。