2014-09-28 1 views
0

패키지 gcc-arm-linux-gnueabig++-arm-linux-gnueabi이 설치된 우분투 14.04에서 라이브러리를 컴파일하려고합니다.PWD의 일부 헤더는 arm-linux-gnueabi에 의해 건너 뛰었습니까?

컴파일은 발생 첫 번째 소스 파일에 실패

#ifndef CRYPTOPP_CRYPTLIB_H 
#define CRYPTOPP_CRYPTLIB_H 

#include "config.h" 
#include "stdcpp.h" 
... 

물론, stdcpp.h이 존재 :

여기
/usr/bin/arm-linux-gnueabi-g++ -DNDEBUG -g2 -Os -pipe -fPIC -I. -DCRYPTOPP_DISABLE_ASM 
-mcpu=cortex-m3 -mthumb --sysroot=/usr/arm-linux-gnueabi -c 3way.cpp 
In file included from cryptlib.h:83:0, 
       from seckey.h:8, 
       from 3way.h:7, 
       from 3way.cpp:5: 
stdcpp.h:14:18: fatal error: memory: No such file or directory 
compilation terminated. 

cryptlib.h처럼 어떤 라인을 포함하는 모양이다

$ pwd 
/home/jwalton/cryptopp-embedded 
$ ls 3way.h cryptlib.h stdcpp.h 
3way.h cryptlib.h stdcpp.h 

-v을 추가하면 다음과 같이 표시됩니다.

... 
ignoring nonexistent directory "/usr/arm-linux-gnueabi/usr/include" 
#include "..." search starts here: 
#include <...> search starts here: 
. 
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/include 
... 
End of search list. 

다른 플랫폼 (예 : Android, iOS 및 Windows Phone)에서 라이브러리를 교차 컴파일 했으므로 수행해야 할 사항에 대해 잘 알고 있습니다. 그러나 이것은 처음으로 arm-linux-gnueabi입니다.

arm-linux-gnueabi이 현재 작업 디렉토리에서 헤더를 건너 뛰는 이유는 무엇입니까? 문제를 어떻게 해결할 수 있습니까? arm-linux-gnueabi-g++ -v에서


전체 출력 :

/usr/bin/arm-linux-gnueabi-g++ -v -DNDEBUG -g2 -Os -pipe -fPIC -I. -DCRYPTOPP_DISABLE_ASM 
-mcpu=cortex-m3 -mthumb --sysroot=/usr/arm-linux-gnueabi -c 3way.cpp 
Using built-in specs. 
COLLECT_GCC=/usr/bin/arm-linux-gnueabi-g++ 
Target: arm-linux-gnueabi 
Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.7.3-12ubuntu1' 
--with-bugurl=file:///usr/share/doc/gcc-4.7/README.Bugs --enable-languages=c,c++,go,fortran,objc,obj-c++ 
--prefix=/usr --program-suffix=-4.7 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib 
--without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/arm-linux-gnueabi/include/c++/4.7.3 
--libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-gnu-unique-object 
--disable-libmudflap --disable-libitm --enable-plugin --with-system-zlib --enable-objc-gc --with-cloog 
--enable-cloog-backend=ppl --disable-cloog-version-check --disable-ppl-version-check --enable-multiarch --enable-multilib 
--disable-sjlj-exceptions --with-arch=armv5t --with-float=soft --disable-werror --enable-checking=release 
--build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=arm-linux-gnueab --program-prefix=arm-linux-gnueabi- 
--includedir=/usr/arm-linux-gnueabi/include 
Thread model: posix 
gcc version 4.7.3 (Ubuntu/Linaro 4.7.3-12ubuntu1) 
COLLECT_GCC_OPTIONS='-v' '-D' 'NDEBUG' '-g2' '-Os' '-pipe' '-fPIC' '-I' '.' '-D' 'CRYPTOPP_DISABLE_ASM' 
'-mcpu=cortex-m3' '-mthumb' '-c' '-shared-libgcc' '-mfloat-abi=soft' '-mtls-dialect=gnu' 
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/cc1plus -quiet -v -I . -imultilib sf -imultiarch 
arm-linux-gnueabi 
-isysroot /usr/arm-linux-gnueabi -D_GNU_SOURCE -D NDEBUG -D CRYPTOPP_DISABLE_ASM 
3way.cpp -quiet 
-dumpbase 3way.cpp -mcpu=cortex-m3 -mthumb -mfloat-abi=soft -mtls-dialect=gnu -auxbase 3way 
-g2 -Os -version -fPIC -fstack-protector -o - | 
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/as -v -I . -mcpu=cortex-m3 
-mfloat-abi=soft -meabi=5 -o 3way.o 
GNU assembler version 2.24 (arm-linux-gnueabi) using BFD version (GNU Binutils for Ubuntu) 2.24 
GNU C++ (Ubuntu/Linaro 4.7.3-12ubuntu1) version 4.7.3 (arm-linux-gnueabi) 
    compiled by GNU C version 4.8.2, GMP version 5.1.3, MPFR version 3.1.2-p3, MPC version 1.0.1 
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 
ignoring nonexistent directory "/usr/arm-linux-gnueabi/usr/arm-linux-gnueabi/include/c++/4.7.3" 
ignoring nonexistent directory "/usr/arm-linux-gnueabi/usr/arm-linux-gnueabi/include/c++/4.7.3/arm-linux-gnueabi/sf" 
ignoring nonexistent directory "/usr/arm-linux-gnueabi/usr/arm-linux-gnueabi/include/c++/4.7.3/backward" 
ignoring nonexistent directory "/usr/arm-linux-gnueabi/usr/local/include/arm-linux-gnueabi" 
ignoring nonexistent directory "/usr/arm-linux-gnueabi/usr/include/arm-linux-gnueabi" 
ignoring nonexistent directory "/usr/arm-linux-gnueabi/usr/include" 
#include "..." search starts here: 
#include <...> search starts here: 
. 
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/include 
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/include-fixed 
/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/include 
End of search list. 
GNU C++ (Ubuntu/Linaro 4.7.3-12ubuntu1) version 4.7.3 (arm-linux-gnueabi) 
    compiled by GNU C version 4.8.2, GMP version 5.1.3, MPFR version 3.1.2-p3, MPC version 1.0.1 
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 
Compiler executable checksum: dd2bb0d8e9ec09589fb3eaca028d0191 
In file included from cryptlib.h:83:0, 
       from seckey.h:8, 
       from 3way.h:7, 
       from 3way.cpp:5: 
stdcpp.h:14:18: fatal error: memory: No such file or directory 
compilation terminated. 
make: *** [3way.o] Error 1 

답변

0

stdcpp.h:14:18: fatal error: memory: No such file or directory

의 Arg는 ... 누락 된 헤더는 memory, 그리고 stdcpp.h입니다. (젠장 C++ 헤더 이름 ...).

그리고 발견되지 않은 <memory>은 우분투의 g++arm-linux-gnueabi : g++-arm-linux-gnueabi cannot compile a C++ program with --sysroot에 버그가있는 것으로 보입니다.