2017-12-21 2 views
0

g ++ 4.4.7을 사용하는 64 비트 CentOS 6.7 시스템에 있고 g ++ 2.96으로 컴파일 된 ACE TAO library 1.2을 컴파일하려고합니다.CentOS 6에서 ACE/TAO 1.2 라이브러리 컴파일

나는 g ++ 버전 4.4.7 나는 다음과 같은 오류 (더 완전한 연구의 조금 후 출력 here

g++ -W -Wall -Wpointer-arith -pipe -O3 -g -Wno-uninitialized -fno-implicit-templates -D_POSIX_THREADS -D_POSIX_THREAD_SAFE_FUNCTIONS -D_REENTRANT -I/home/oscarpelaoo/Downloads/ACE_wrappers -DACE_HAS_EXCEPTIONS -c -fPIC -o .shobj/URL_Addr.o URL_Addr.cpp 
In file included from /home/oscarpelaoo/Downloads/ACE_wrappers/ace/ACE.h:17, 
       from /home/oscarpelaoo/Downloads/ACE_wrappers/ace/INET_Addr.h:17, 
       from URL_Addr.h:20, 
       from URL_Addr.cpp:3: 
/home/oscarpelaoo/Downloads/ACE_wrappers/ace/OS.h:3110:27: error: new.h: No such file or directory 
In file included from /usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/backward/strstream:47, 
       from /home/oscarpelaoo/Downloads/ACE_wrappers/ace/streams.h:70, 
       from /home/oscarpelaoo/Downloads/ACE_wrappers/ace/OS.h:3197, 
       from /home/oscarpelaoo/Downloads/ACE_wrappers/ace/ACE.h:17, 
       from /home/oscarpelaoo/Downloads/ACE_wrappers/ace/INET_Addr.h:17, 
       from URL_Addr.h:20, 
       from URL_Addr.cpp:3: 
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/backward/backward_warning.h:28:2: warning: #warning This file includes at least one deprecated or antiquated header which may be removed without further notice at a future date. Please use a non-deprecated interface with equivalent functionality instead. For a listing of replacement headers and interfaces, consult the file backward_warning.h. To disable this warning use -Wno-deprecated. 
In file included from /home/oscarpelaoo/Downloads/ACE_wrappers/ace/OS_TLI.h:191, 
       from /home/oscarpelaoo/Downloads/ACE_wrappers/ace/OS.h:38, 
       from /home/oscarpelaoo/Downloads/ACE_wrappers/ace/ACE.h:17, 
       from /home/oscarpelaoo/Downloads/ACE_wrappers/ace/INET_Addr.h:17, 
       from URL_Addr.h:20, 
       from URL_Addr.cpp:3: 
/home/oscarpelaoo/Downloads/ACE_wrappers/ace/OS_TLI.inl: In static member function ‘static int ACE_OS_TLI::t_accept(ACE_HANDLE, ACE_HANDLE, t_call*)’: 
/home/oscarpelaoo/Downloads/ACE_wrappers/ace/OS_TLI.inl:12: warning: the address of ‘call’ will never be NULL 
/home/oscarpelaoo/Downloads/ACE_wrappers/ace/OS_TLI.inl:13: warning: the address of ‘reshandle’ will never be NULL 
/home/oscarpelaoo/Downloads/ACE_wrappers/ace/OS_TLI.inl:14: warning: the address of ‘handle’ will never be NULL 
/home/oscarpelaoo/Downloads/ACE_wrappers/ace/OS_TLI.inl: In static member function ‘static char* ACE_OS_TLI::t_alloc(ACE_HANDLE, int, int)’: 

, 나는 레드햇에 대한 오래된 된 libstdC++ 라이브러리를 제공하는 것을 발견 얻을를 사용하여 컴파일 할 때 CentOS 6 here

이전 버전의 g ++ 2.96을 사용할 수 있습니까? 64 비트를 지원하지 않는다고 생각합니까? 아니면 g ++ 4.4.7과 호환되는 도구를 사용하여 무언가를 만들려고합니까?

+1

현재 컴파일러로 컴파일하는 것이 문제가됩니까? –

+0

라이브러리를 컴파일하거나 사용하려고합니까? – molbdnilo

+0

gcc가'-m32'를 사용하여 32 비트 코드를 컴파일하도록 말할 수 있습니다. – stark

답변

0

설치가 가능하기 때문에 내 게시물에 응답합니다.

관련 32 비트 라이브러리를 설치 한 후 -m32 플래그를 추가해야했습니다. 그런 다음 시스템에 <new.h> 파일이 없기 때문에 -DACE_LACKS_NEW_H 플래그를 추가해야했습니다. 그 다음에는 앞으로 선언문을 추가하고 라이브러리를 컴파일해야했습니다.

관련 문제