2017-10-05 6 views
1

우분투에서 동맥을 만들려고 할 때 16.04. 다음은 내가하는 방법을 아주 확실하지 않다 나는 모든 유닉스 시스템 구축 소스와 그 익숙하지 않은 오전으로 은 $ cmake --build/홈/하트/정맥/동맥 마스터/우분투 건물 동맥이 실패합니다

[ 23%] Linking CXX shared library libartery.so 
/usr/bin/ld: /usr/local/lib/libvanetza_btp.a(data_request.cpp.o): relocation R_X86_64_32 against `.bss' can not be used when making a shared 
object; recompile with -fPIC 
/usr/local/lib/libvanetza_btp.a: error adding symbols: Bad value 
collect2: error: ld returned 1 exit status 
src/artery/CMakeFiles/artery.dir/build.make:954: recipe for target'src/artery/libartery.so' failed 
make[2]: *** [src/artery/libartery.so] Error 1 
CMakeFiles/Makefile2:229: recipe for target 'src/artery/CMakeFiles/artery.dir/all' failed 
make[1]: *** [src/artery/CMakeFiles/artery.dir/all] Error 2 
Makefile:83: recipe for target 'all' failed 
make: *** [all] Error 2 

를 구축 호출 한 후에 발생 이 오류를 다루십시오. cmake 버전 3.9.3, 1.65.1 및 crypto ++ 5.6.4를 사용하고 있습니다. geographiclib도 오류없이 빌드되었습니다.

+0

가상 컴퓨터를 구축하고 있습니까? 64 또는 32 비트? –

+0

가상 머신 없음, 64 비트 OS (16.04. LTS) –

+1

Vanetza를 정적 라이브러리로 빌드 한 것처럼 보이지만 공유 라이브러리 여야합니다. Vanetza 빌드 디렉토리에서 cmake 변수'BUILD_SHARED_LIBS'를 볼 수 있습니까? 'BUILD_SHARED_LIBS'는'ON'이어야합니다. 'extern/vanetza/build' 디렉토리로 이동하고'ccmake '라고 입력하면이 변수를 볼 수 있습니다. – Ventu

답변

1

의견에서 읽을 수있는대로 문제가 해결되었습니다.
cmake 구성의 vanetza 디렉터리 VANETZA_DIR 경로가 잘못되었습니다. ccmake를 통해이를 수정하면 문제가 해결됩니다.