xlC_r 컴파일에러입니다.

AirJenie의 이미지

안녕하세요? 유닉스 초보 프로그래머입니다^^;
제가 어렵게 xml4c parser를 받아서 설치를했습니다.
1. xml4c 헤더파일들을 /usr/include 로 복사를 했습니다.
2. xml4c lib 경로를 .profile의 LIBPATH에 추가를 했습니다.
3. 우선 컴파일 테스트를 해보기위해 소스코드를 다음과 같이 작성했습니다.

#include <xercesc/dom/DOM.hpp>
//#include <xercesc/sax/HandlerBase.hpp>
//#include <xercesc/util/XMLString.hpp>
//#include <xercesc/util/PlatformUtils.hpp>
#include <stdio.h>
#include <iostream.h>

XERCES_CPP_NAMESPACE_USE

int main(int argc, char* args[])
{
    DOMDocument* pDOMDoc;
    //DOMNode*     pNode;
    //DOMText*     pText;
    cout << "hi";
    return 0;
}

4.그리고 다음과 같이 컴파일을 실행하였습니다.
[/home/airman/src]xlC_r -L/home/airman/xml4c/lib -lxml4c52 xml.C

그랬더니 다음과 같이 에러가 나는데요.. 흠.. 뭔소린지.. 대충 힌트라도 주세요..

"/usr/include/xercesc/util/XMLEnumerator.hpp", line 95.30: 1540-0121 (S) A templ
ate cannot have "C" linkage.
"/usr/include/xercesc/util/BaseRefVectorOf.hpp", line 71.30: 1540-0121 (S) A tem
plate cannot have "C" linkage.
"/usr/include/xercesc/util/BaseRefVectorOf.hpp", line 126.30: 1540-0121 (S) A te
mplate cannot have "C" linkage.
"/usr/include/xercesc/util/BaseRefVectorOf.c", line 68.39: 1540-0140 (S) The tex
t "<" is unexpected. "BaseRefVectorOf" may be undeclared, ambiguous or may requ
ire "typename" qualification.
"/usr/include/xercesc/util/BaseRefVectorOf.c", line 85.39: 1540-0140 (S) The tex
t "<" is unexpected. "BaseRefVectorOf" may be undeclared, ambiguous or may requ
ire "typename" qualification.
"/usr/include/xercesc/util/BaseRefVectorOf.c", line 93.44: 1540-0063 (S) The tex
t "<" is unexpected.
"/usr/include/xercesc/util/BaseRefVectorOf.c", line 102.16: 1540-0063 (S) The te
xt "<" is unexpected.
"/usr/include/xercesc/util/BaseRefVectorOf.c", line 112.44: 1540-0063 (S) The te
xt "<" is unexpected.
"/usr/include/xercesc/util/BaseRefVectorOf.c", line 135.46: 1540-0063 (S) The te
xt "<" is unexpected.
"/usr/include/xercesc/util/BaseRefVectorOf.c", line 165.44: 1540-0063 (S) The te
xt "<" is unexpected.

"/usr/include/xercesc/util/BaseRefVectorOf.c", line 178.44: 1540-0063 (S) The te
xt "<" is unexpected.
"/usr/include/xercesc/util/BaseRefVectorOf.c", line 206.44: 1540-0063 (S) The te
xt "<" is unexpected.
"/usr/include/xercesc/util/BaseRefVectorOf.c", line 217.21: 1540-0063 (S) The te
xt "<" is unexpected.
"/usr/include/xercesc/util/BaseRefVectorOf.c", line 233.44: 1540-0063 (S) The te
xt "<" is unexpected.
"/usr/include/xercesc/util/BaseRefVectorOf.c", line 248.44: 1540-0063 (S) The te
xt "<" is unexpected.
"/usr/include/xercesc/util/BaseRefVectorOf.c", line 264.52: 1540-0063 (S) The te
xt "<" is unexpected.
"/usr/include/xercesc/util/BaseRefVectorOf.c", line 269.52: 1540-0063 (S) The te
xt "<" is unexpected.
"/usr/include/xercesc/util/BaseRefVectorOf.c", line 278.16: 1540-0063 (S) The te
xt "<" is unexpected.
"/usr/include/xercesc/util/BaseRefVectorOf.c", line 285.52: 1540-0063 (S) The te
xt "<" is unexpected.
"/usr/include/xercesc/util/BaseRefVectorOf.c", line 294.44: 1540-0063 (S) The te
xt "<" is unexpected.

"/usr/include/xercesc/util/BaseRefVectorOf.c", line 327.47: 1540-0140 (S) The te
xt "<" is unexpected. "BaseRefVectorEnumerator" may be undeclared, ambiguous or
may require "typename" qualification.
"/usr/include/xercesc/util/BaseRefVectorOf.c", line 336.47: 1540-0140 (S) The te
xt "<" is unexpected. "BaseRefVectorEnumerator" may be undeclared, ambiguous or
may require "typename" qualification.
"/usr/include/xercesc/util/BaseRefVectorOf.c", line 346.52: 1540-0063 (S) The te
xt "<" is unexpected.
"/usr/include/xercesc/util/BaseRefVectorOf.c", line 353.54: 1540-0063 (S) The te
xt "<" is unexpected.
"/usr/include/xercesc/util/BaseRefVectorOf.c", line 358.52: 1540-0063 (S) The te
xt "<" is unexpected.
"/usr/include/xercesc/util/XMLString.hpp", line 1299.27: 1540-0040 (S) The text
"<" is unexpected. "BaseRefVectorOf" may be undeclared or ambiguous.

봐주셔서 감사하구요.. 그리고 AIX에서 xlc xlc_r xlC xlC_r 의 차이가 뭔가요?
살펴봤더니 xlC는 xlc의 링크파일이더라구요.. 그리고 _r 이 붙은건 무슨차이예요?
읽어주셔서 감사합니다.

dyaus의 이미지

정확한것인지는 사용해보지 않아서 모르겠습니다만.

에러메세지들에서 나오는 말로 봐서는.

사용하시려고 하시는 xml4c는 c++로 작성되어 있는 것이고.
그 라이브러리(?)는 c 는 지원하지 않는다.

소스는 C 같은데, xml4c에 같이 딸려온 문서를 확인해 보시는게 좋겠군요.

보통 function & function_r 이 있는 경우에는 function_r은 function과
같은 동작을 하지만, thread safe 하게 구현된 경우로 기억합니다.

@ 아마도, 같이 오는 문서파일이나 예제파일을 살펴보시면 충분한 답이 있을 것 같습니다.

@ IBM xml4c : http://www.alphaworks.ibm.com/tech/xml4c

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.