2014-02-05 2 views
0

나는 다음과 같은 프로그램을 컴파일하기 위해 노력하고있어 :GDAL의 API/C++ (C++로 GDAL API를 사용하여)

MAIN.CPP :

#include "gdal_priv.h" 
#include "cpl_conv.h" 

int main(int argc, char *argv[]) 
{ 

    GDALAllRegister(); 
    GDALDataset* data = (GDALDataset*) GDALOpen("heightmap.tiff", GA_ReadOnly); 


} 

내가 Mac에서 그것을 만들기 방법 :

clang main.cpp -I/Library/Frameworks/GDAL.framework/Versions/1.10/unix/include 

이있어 : 당신을 구축 할

clang main.cpp -I/Library/Frameworks/GDAL.framework/Versions/1.10/unix/include/ 
Undefined symbols for architecture x86_64: 
    "_GDALOpenShared", referenced from: 
     _main in test_gdal-QIB6MK.o 
ld: symbol(s) not found for architecture x86_64 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 
What's wrong with this very basic case? 
+1

라이브러리에 링크해야합니다. 어떻게 쓰는지는 모르겠지만'gdal '이라면 cmdline에'-lgdal'이 필요합니다 – typ1232

+0

-lgdal을 리눅스에서 실제로 사용했지만 Mac에서는 사용할 수 없습니다. 고마워. – Adakite

답변

0

시도를 r 프로젝트 (bash 파일 사용) :

#!/usr/bin/env bash 

## Path to you installed GDAL 
GDAL_PATH=/usr/local/Cellar/gdal2/2.2.0 

INCLUDE_PATH=${GDAL_PATH}/include 
LIBS_PATH=${GDAL_PATH}/lib 
GDAL_LIB=-lgdal 

g++ -I${INCLUDE_PATH} -L${LIBS_PATH} ${GDAL_LIB} main.cpp -o main