Вопрос

У меня возникли проблемы с компиляцией проекта C++ с открытым исходным кодом в Fedora.Когда я загружаю и запускаю ./configure, я в конечном итоге получаю....

.
.
.
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
./configure: line 15513: AX_CFLAGS_WARN_ALL: command not found
./configure: line 15514: AX_CXXFLAGS_WARN_ALL: command not found
checking for flex... flex
checking lex output file root... lex.yy
checking lex library... -lfl
checking whether yytext is a pointer... yes
checking for bison... bison
./configure: line 15784: AX_PROG_GPERF: command not found
checking trace option enabled... no
checking for getrusage... yes
checking time profiling enabled... no
checking poll.h usability... yes
checking poll.h presence... yes
checking for poll.h... yes
checking forcing use of select... no
checking use pipes to communication between scheduler and dispatcher... no
./configure: line 16280: syntax error near unexpected token `1.39.0'
./configure: line 16280: `AX_BOOST_BASE(1.39.0)'

Когда я скомпилировал эквивалентный проект в Windows, мне нужно было установить и обновить ссылки на проект Boost.Я вижу, что это связано с повышением, но не знаю, почему я получаю синтаксическую ошибку.

Еще несколько вещей, на которые следует обратить внимание: исходный код в файлах configure и configure.ac содержал ссылки на boost 1.3.5 с теми же ошибками компиляции (очевидно, с 1.3.5 в сообщении об ошибке).

Недавно я установил boost 1.3.9 и обновил исходный код.Также обратите внимание, что когда я пытался

 yum install boost

он сообщает, что у меня установлена ​​версия 1.3.7, и это последняя версия.Я также попробовал версию 1.3.7 внутри исходного кода, но столкнулся с той же проблемой.Я просто не понимаю, почему я получаю синтаксическую ошибку!

это код внутри configure и configre.ac, который выдает ошибку

#BOOST
AX_BOOST_BASE(1.39.0)
AX_BOOST_THREAD

Любые мысли о том, куда идти дальше, были бы замечательными.

ТИА

г

Это было полезно?

Решение

Я думаю, что ваш «проект с открытым исходным кодом» требует более поздней версии AutoConf/Aclocal, чем установленная версия.

'Ax_cflags _warn _all', ..., 'ax _boost _base' - все это макросы AutoConf, которые были бы правильно расширены, если бы у вас была более новая версия AutoConf.

Другие советы

Я могу придумать несколько причин, по которым это произошло.Прежде всего, Boost — это очень популярный фреймворк для программирования на C++.

  1. В проекте есть ошибка(ошибка компиляции)
  2. Вы неправильно установили зависимости
  3. Проект несовместим с вашим дистрибутивом.Пакет в репозитории может быть устаревшим, поэтому это самый последний для Федоры но не самый последний пакет Boost.Пользователи Fedora смогут лучше сказать, так ли это.
  4. Некоторые из ваших зависимостей были повреждены
  5. Вы не правильно следовали инструкциям
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top