Отсутствие файлов буста по неизвестному пути - PullRequest
0 голосов
/ 04 июля 2019

Я получаю ошибки по отсутствующим файлам буста, но, насколько мне известно, они уже установлены 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 по исходному коду эта ошибка будет исправлена, но все же она все еще будет.ускоренная компиляция была успешной, как упомянуто здесь:

...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 голосов
/ 05 июля 2019

Похоже, что вы используете 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

Кроме того, стекопоток не самый лучшийместо для OpenFOAM - cfd-online.com имеет специальный форум по CFD / OpenFOAM, лучше подходящий для подобных вопросов.

...