2015-01-01 3 views
0

os x maverick에서 C++ "boost"를 참조하는 라이브러리 "cmappertools"를 빌드하려고하는데 오류가 발생했습니다. 이하. 저는 파이썬과 C++의 새로운 기능에 매우 익숙하며 찾고자하는 위치를 알려주지 못합니다 : "UnixCCompiler에 대한 compiler_cxx 픽스가 없음"오류가 어디서나 가리 키지 않은 것 같습니다. 어떤 생각이야?"/ usr/bin/clang ++ -bundle -undefined ..."명령이 종료 상태 1에서 실패했습니다.

checking for exit in -lboost_thread-mt... yes 
checking whether the Boost::Chrono library is available... yes 
checking for exit in -lboost_chrono-mt... yes 
checking whether C++ compiler accepts -fvisibility=hidden... yes 
checking whether C++ compiler accepts -fno-common... yes 
checking whether C++ compiler accepts -fvisibility-inlines-hidden... yes 

...

building extension "cmappertools" sources 
build_src: building npy-pkg config files 
running build_ext 
customize UnixCCompiler 
customize UnixCCompiler using build_ext 
customize UnixCCompiler 
**#### ['/usr/bin/clang', '-fno-strict-aliasing', '-fno-common', '-dynamic', '-arch', 'i386', '-arch', 'x86_64', '-g', '-DNDEBUG', '-g', '-fwrapv', '-O3', '-Wall', '-Wstrict-prototypes'] ####### 
Missing compiler_cxx fix for UnixCCompiler** 
customize UnixCCompiler using build_ext 
building 'cmappertools' extension 
compiling C++ sources 
C compiler: /usr/bin/clang++ -fno-strict-aliasing -fno-common -dynamic -arch i386 -arch x86_64 -g - DNDEBUG -g -fwrapv -O3 -Wall 

compile options: '-I/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site- packages/numpy/core/include -I/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c' 
extra options: '-pthread -I/usr/local/include -fvisibility=hidden -fno-common -fvisibility-inlines- hidden -ffunction-sections -fdata-sections' 
clang++: cmappertools.cpp 
/usr/bin/clang++ -bundle -undefined dynamic_lookup -arch i386 -arch x86_64 -g build/temp.macosx-10.6-intel-2.7/cmappertools.o -o build/lib.macosx-10.6-intel-2.7/cmappertools.so -L/usr/local/lib - lboost_thread-mt -lboost_chrono-mt -Wl,-s 
ld: warning: option -s is obsolete and being ignored 
ld: warning: ignoring file /usr/local/lib/libboost_thread-mt.dylib, file was built for x86_64 which   is not the architecture being linked (i386): /usr/local/lib/libboost_thread-mt.dylib 
ld: warning: ignoring file /usr/local/lib/libboost_chrono-mt.dylib, file was built for x86_64 which is not the architecture being linked (i386): /usr/local/lib/libboost_chrono-mt.dylib 
ld: internal error: atom not found in  symbolIndex(__ZN5boost16exception_detail20copy_boost_exceptionEPNS_9exceptionEPKS1_) for architecture  i386 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 
ld: warning: option -s is obsolete and being ignored 
ld: warning: ignoring file /usr/local/lib/libboost_thread-mt.dylib, file was built for x86_64 which is not the architecture being linked (i386): /usr/local/lib/libboost_thread-mt.dylib 
ld: warning: ignoring file /usr/local/lib/libboost_chrono-mt.dylib, file was built for x86_64 which is not the architecture being linked (i386): /usr/local/lib/libboost_chrono-mt.dylib 
ld: internal error: atom not found in  symbolIndex(__ZN5boost16exception_detail20copy_boost_exceptionEPNS_9exceptionEPKS1_) for architecture  i386 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 
error: Command "/usr/bin/clang++ -bundle -undefined dynamic_lookup -arch i386 -arch x86_64 -g  build/temp.macosx-10.6-intel-2.7/cmappertools.o -o build/lib.macosx-10.6-intel-2.7/cmappertools.so -L/usr/local/lib -lboost_thread-mt -lboost_chrono-mt -Wl,-s" failed with exit status 1 

답변

0

당신은 결합 32/64 비트에 후원을 컴파일 할 필요가 - 그것은 단지 64 비트 모드로 컴파일합니다.

brew을 통해 부스트를 설치 한 경우 --universal 옵션을 설치 명령에 추가해야합니다. b2 컴파일 라인에

address-model=32_64 architecture=x86 

:

수동 부스트를 구축한다면, 당신은 옵션을 추가해야한다. 이로 인해64 비트로 빌드되고, 이는 파이썬 빌드를 지원해야합니다.

관련 문제