문제

Fedora에서 오픈 소스 C ++ 프로젝트를 컴파일하는 데 문제가 있습니다. ./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를 위해 프로젝트 참조를 설치하고 업데이트해야했습니다. 이것이 부스트와 관련이 있지만 왜 구문 오류가 발생하는지 잘 모르겠습니다.

주목해야 할 몇 가지 사항, 구성 및 구성의 원래 소스 코드는 동일한 컴파일 오류 (오류 MSG의 1.3.5)를 사용하여 BOST 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

다음에 어디로 가야할지에 대한 생각은 좋을 것입니다.

티아

G

도움이 되었습니까?

해결책

귀하의 '오픈 소스 프로젝트'에는 설치된 버전보다 이후 버전의 Autoconf/Aclocal이 필요하다고 생각합니다.

'ax_cflags _warn _all', ..., 'ax _boost _base'는 모두 autoconf 매크로입니다.

다른 팁

나는 이것이 일어날 몇 가지 이유를 생각할 수 있습니다. 우선 "Boost"는 C ++ 프로그래밍을위한 매우 인기있는 프레임 워크입니다.

  1. 프로젝트에는 버그가 있습니다 (컴파일 오류)
  2. 의존성을 올바르게 설치하지 않았습니다
  3. 프로젝트는 배포와 호환되지 않습니다. 저장소의 패키지는 구식 일 수 있으므로 가장 최근입니다. 페도라를 위해 그러나 가장 최근의 부스트 패키지는 아닙니다. 페도라 사용자는 이것이 사실인지 더 잘 적합 할 것입니다.
  4. 의존성 중 일부는 손상되었습니다
  5. 당신은 지시를 제대로 따르지 않았습니다
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top