ACE 설치 및 로깅에 대한 질문입니다.

37 views
Skip to first unread message

lsh

unread,
May 15, 2006, 4:02:07 AM5/15/06
to kaug
MSVC 6.0 , Window XP 입니다.

ACE책에있는 5.3버전을 설치하는데요 몇가지 질문이
있습니다.

Code Generation 탭에서 runtime library를 multithread로
선택하면 링크 에러가 발생합니다.

libcpmtd.lib(xmbtowc.obj) : error LNK2001 : unresolved external symbol


__CrtDbgReport
Debug/Logging.exe : fatal error LNK1120: 1 unresolved externals

그러나 Debug multithread / Debug multithread DLL 등을 선택하면
잘 됩니다. 어떻게 해야 되나여?


그리고 메세지 로깅하는 책에 있는 예제를 빌드하면
출력결과가 책과 다르게 나옵니다.

Hi Mom
Howdy Pardner
Goodnight

이렇게 출력이 됩니다. %I 이런 것이 화면에
들여쓰기가 안돼서 나옵니다.

에러는 없습니다. 출력만 저렇게 나옵니다.

뭔가 설정을 잘 못해준건가 하는데요 이유가 뭔지좀
말씀해주세요.

miraro

unread,
May 15, 2006, 9:50:22 PM5/15/06
to kaug
흠 저랑 비슷한 출력 에러가 있군요..
저는 %I64 이게 제대로 안나오더군요...
그래서 char 버퍼에 저장하고 그걸 출력하니 제대로
나오더군요..
저두 궁금했던건데..

redpixel

unread,
May 15, 2006, 11:30:09 PM5/15/06
to kaug...@googlegroups.com
링크에러는 ACE 빌드 옵션과 맞춰보세요. 아마 다를겁니다. 이건 비단 ACE뿐만아니라 다른 라이브러리도 마찬가지로 겪을 수 있는 문제입니다. :)
그리고 %I 문제는 ACE_Trace::set_nesting_indent() 정적 함수를 사용해서 설정해보세요. 먼저 ACE_Trace::get_nesting_indent()함수로 들여쓰기 값을 얻어보는 것도 좋을 듯 합니다.

2006/5/16, miraro <mir...@dreamwiz.com>:

lsh

unread,
May 17, 2006, 2:52:02 AM5/17/06
to kaug
char buf[20] = {"Hi Mom\n"};
ACE_TRACE(ACE_TEXT ("main"));

int n = ACE_Trace::get_nesting_indent();
cout << n << endl;

ACE_Trace::set_nesting_indent(10);
n = ACE_Trace::get_nesting_indent();
cout << n << endl;

ACE_DEBUG((LM_INFO, ACE_TEXT("%IHi Mom\n")));
ACE_DEBUG((LM_INFO, ACE_TEXT("%I %s"), buf));

위에서 제가 질문드렸던 내용인데요 이런식으로 제가
수정했는데 그대로 출력됩니다.
ACE_Trace::get_nesting_indent();를 사용하여 값을 얻으면 3이
나오는데 %I 는 출력이 안됩니다.
그래서 char버퍼에 넣으라고 해서 저렇게도 해봤는데
제가 워낙 초보자라 진전이 없습니다.

redpixel

unread,
May 17, 2006, 3:03:51 AM5/17/06
to kaug...@googlegroups.com
아마 %I는 ACE_TRACE에만 동작할겁니다. ACE_DEBUG에서는 저도 써본일이 없어서... 한번 실험해보세요. ^_^

2006/5/17, lsh <under...@hotmail.com>:

lsh

unread,
May 17, 2006, 4:49:54 AM5/17/06
to kaug
아 그렇군요... 답변 너무 감사드립니다.
Reply all
Reply to author
Forward
0 new messages