2014-05-13 1 views
0

solaris 10에서 g ++을 사용하여 gdal을 사용하여 DTDR (Digital Terrain Elevation) 데이터를로드하려고합니다. solaris 10에서 cc 컴파일러가있는 응용 프로그램이 데이터를 성공적으로로드하지만 netbeans 및 g ++을 사용하고 있습니다. 응용 프로그램은 DTED (Digital Terrain Elevation) 데이터를 성공적으로 읽지 만 을 인쇄하면 GetGeoTranformation(double *)에서 응용 프로그램이 충돌합니다. 이 함수는 참조에서 정상적으로 작동합니다. 내가 주석을 달면 응용 프로그램이 GDALDataset->GetRasterBand(1)에서 충돌하고 오류가 출력됩니다. ld.so.1 fatal reallocation error symbol_ZN11GDALDataset13GetRasterBandIOEi reference symbol not found솔라리스 10에서 g ++로 gdal을 사용하여 dted 데이터로드?

답변

0

GDAL을 사용하는 코드의 일부를 게시 하시겠습니까? 몇 가지 문제가있을 수 있습니다. 내 머리 꼭대기에서 ...

  1. GDAL GetRasterBand은 색인 생성시 1에서 시작합니다. 당신이 제공 한 스 니펫이 그렇게하는 것 같습니다.
  2. GDAL을 사용하려면 GDALAllRegister()으로 드라이버를 초기화해야합니다.
  3. 대부분의 GDAL 함수는 데이터없이 반환 할 때 NULL을 반환합니다. 잠재적 인 seg 결함을 방지하기 위해 다른 함수로 전달하기 전에 테스트 해 볼 수 있습니다.
  4. 참조는 무엇을 가리 킵니까? 나는 (솔라리스는 유닉스입니다, 아니 만약 내가 잘못 리눅스 그렇게 용서)

    • which cc
    • ls -la /usr/bin/cc처럼 뭔가 심볼릭 링크를 확인합니다.