tinyxml을 사용하고 싶습니다. 나는 과거에 그것을 사용했고, 그것은 훌륭하게 작동합니다. 유일한 문제는 노트북 인 리눅스 박스에서 개발하고 있다는 것이다. 나는 Mac mini를 가지고 있으며 바탕 화면으로 설정했습니다. 그래서 그것을 큰 발전을 위해 사용하고 싶습니다.링크 오류 tinyxml on OS X 10.9.2
저는 강사 중 한 명이 저에게 준 간단한 tinyxml 예제가 있습니다.
ifeq ("$(shell whoami)", "malloy")
CXX = clang++
else
CXX = g++
endif
# Warnings frequently signal eventual errors:
CXXFLAGS=`sdl-config --cflags` -g -W -Wall -Weffc++ -Wextra -pedantic -O0
ifeq ("$(shell uname)", "Darwin")
LDFLAGS = -framework Foundation -framework GLUT -framework OpenGL -lm
else
ifeq ("$(shell uname)", "Linux")
LDFLAGS = `sdl-config --libs` -lm -lSDL_ttf -lSDL_image -ltinyxml
endif
endif
OBJS = \
main.o
EXEC = run
%.o: %.cpp
$(CXX) $(CXXFLAGS) -c $< -o [email protected]
$(EXEC): $(OBJS)
$(CXX) $(CXXFLAGS) -o [email protected] $(OBJS) $(LDFLAGS)
main.o: main.cpp
clean:
rm -rf $(OBJS)
rm -rf $(EXEC)
을 그리고 난이 간단한 프로젝트를 만들려고 할 때 나는이 정의되지 않은 기호 모든 오류를 얻을 :이 예제과 같이 Makefile을했다. 이 터미널 출력 내가 입력 한 후 만들 것입니다 :
g++ `sdl-config --cflags` -g -W -Wall -Weffc++ -Wextra -pedantic -O0 -o run main.o - framework Foundation -framework GLUT -framework OpenGL -lm
Undefined symbols for architecture x86_64:
"TiXmlString::nullrep_", referenced from:
TiXmlString::quit() in main.o
"TiXmlDocument::LoadFile(TiXmlEncoding)", referenced from:
_main in main.o
"TiXmlDocument::TiXmlDocument(char const*)", referenced from:
_main in main.o
"TiXmlNode::Clear()", referenced from:
_main in main.o
"TiXmlNode::~TiXmlNode()", referenced from:
TiXmlDocument::~TiXmlDocument() in main.o
"TiXmlElement::Attribute(char const*) const", referenced from:
_main in main.o
"TiXmlNode::FirstChildElement() const", referenced from:
TiXmlNode::FirstChildElement() in main.o
"TiXmlNode::NextSiblingElement() const", referenced from:
TiXmlNode::NextSiblingElement() in main.o
"vtable for TiXmlDocument", referenced from:
TiXmlDocument::~TiXmlDocument() in main.o
NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [run] Error 1
을 내가 그것에 대해하는 링커 오류 알고있다. 나는 Homebrew를 사용하여 tinyxml을 설치했습니다. 실제로 tiny-ml에 대한 tar-ball을 얻은 후 압축을 풀고/usr/local/include에 폴더를 두었습니다. g ++는 파일 찾기에 대해 불평하지 않습니다. 그냥 v 테이블과 함께.
도움을 주시면 대단히 감사하겠습니다. 미리 감사드립니다 !!!
" 그것을 구축하십시오 "? 다른 뭔가를 사용할 수 있습니다 ... –