2010-12-03 7 views
0

간단한 tinylibxml 프로그램을 실행하려고하면 오류가 발생합니다.연결 문제 tinylibxml C++ 우분투

OS -> 우분투 IDE -을 통해> 전자 내가 가진 다운로드 libtinyxml 를 설치 쉽다는-얻고 내 프로그램 의 헤더를 포함하지만 난 여전히 오류 샘플 코드는

#include "tinyxml.h" 
#define TIXML_USE_STL 
#include <tinyxml.h> 
void dump_to_stdout(const char* pFilename); 

int main() 
{ 
dump_to_stdout("example1.xml"); 
return 0; 
} 

void dump_to_stdout(const char* pFilename) 
{ 
TiXmlDocument doc(pFilename); 
bool loadOkay = doc.LoadFile(); 
if (loadOkay) 
{ 
    printf("\n%s:\b", pFilename); 
} 
else 
{ 
    printf("Failed to load file \"%s\"\n", pFilename); 
} 
} 
아래에 붙여 얻고있다

나는 봤는데, 난 libtinyxml.cpp 및 몇 가지 더 많은 파일을 포함해야합니다 것으로 나타났습니다. 여러분, 저에게 어떻게 할 수 있는지 안내해주십시오.

감사

+4

그것은 도움이 될 것입니다 : 편집

. 코드를 추가 할 때 아래의 형식 코드 버튼을 사용하십시오. 그것은 더 쉽게 읽을 수 있습니다. – doron

+0

무엇이 오류입니까? – misha

답변

1

당신이

g++ -c mycode.cpp

이 같은 것을 할 필요가 구축

이 발생한다 (소스 파일을 가정은 mycode.cpp가) mycode.o 당신이 지금 필요

해야 할 일 :

연결 단계 인

. 이것은 컴파일 된 소스 파일을 tinyxml 라이브러리와 결합하여 최종 실행 바이너리 mycode를 생성합니다.

간단한 것들은 한 단계로 컴파일하고 연결할 수 있지만 더 복잡한 것들은 단계를 구분해야합니다.

이 모든

makeMakefile

컴파일러 옵션에 대한 자세한 정보를 원하시면 The GCC Manual를 살펴 보자 사용하여 자동화 할 수 있습니다.

+0

이러한 빠르고 유용한 답변을 주셔서 감사합니다. – samprat

+0

문제를 해결했습니다. – samprat

+0

문제는 내가 libtinyxml.a 파일을 연결하지 않고 있다는 것입니다. 이 파일은/usr/lib에 있습니다. 나는 다음 단계 g ++ TinyTest.cpp /usr/lib/libtinyxml.a을 필요로한다. 간단히 말해, 나는 프로젝트 -> 속성 -> GCC C++ 링커 -> 라이브러리로 가서 - L/usr/lib에 -l AND/usr/lib에 tinyxml을 추가하여 이클립스를 시도했다. – samprat

0

tinyxml과 함께 제공되는 makefile이 실행되어 라이브러리를 빌드 한 다음 해당 라이브러리를 링크 행에 포함시킵니다. 및 @doron 친절 "라이브러리를 연결하는"당신에게 지침을 제공하고있다 : 당신은뿐만 아니라 오류 메시지를 추가하는 경우