build error at cairo
ここに記載しているメモは、 http://wiki.documentfoundation.org/User:Foral/Build_Win にまとめています。
OSL_TRACE("\r\n:cairocanvas::TextLayout::draw(S,O,p,v,r): Size:(%d,%d), W:%d->%d, Pos (%d,%d), G(%d,%d,%d) %s%s%s%s || Name:%s - %s", aFont.GetWidth(), aFont.GetHeight(), aMetric.GetWidth(), nWidth, (int) rOutpos.X(), (int) rOutpos.Y(), cairo_glyphs[0].index, cairo_glyphs[1].index, cairo_glyphs[2].index, maLogicalAdvancements.getLength() ? "ADV " : "", rSysFontData.bAntialias ? "AA " : "", rSysFontData.bFakeBold ? "FB " : "", rSysFontData.bFakeItalic ? "FI " : "", #if (defined CAIRO_HAS_WIN32_SURFACE) && (OSL_DEBUG_LEVEL > 1) ::rtl::OUStringToOString( reinterpret_cast<const sal_Unicode*> (logfont.lfFaceName), RTL_TEXTENCODING_UTF8 ).getStr(), #else ::rtl::OUStringToOString( aFont.GetName(), RTL_TEXTENCODING_UTF8 ).getStr(), #endif ::rtl::OUStringToOString( maText.Text.copy( maText.StartPosition, maText.Length ), RTL_TEXTENCODING_UTF8 ).getStr() );
/canvas/source/cairo/cairo_textlayout.cxx(600) : error C2121: ´#´ : invalid character : possibly the result of a macro expansion
/canvas/source/cairo/cairo_textlayout.cxx(600) : error C2059: syntax error : ´if´
/canvas/source/cairo/cairo_textlayout.cxx(600) : error C2121: ´#´ : invalid character : possibly the result of a macro expansion
/canvas/source/cairo/cairo_textlayout.cxx(600) : error C2121: ´#´ : invalid character : possibly the result of a macro expansion
/canvas/source/cairo/cairo_textlayout.cxx(600) : error C2653: ´endif´ : is not a class or namespace name
プリプロセッサーの仕様の違いなのか、vsだと上記のエラーが発生する。();の中の#ifを();の外で分岐させると問題なくコンパイルできる。どう対処するのが一番良いのだろう?
It is possible to solve but i do not know right way.