我想讓我的項目在GCC下編譯(Visual Studio完美地編譯它)。GCC,Unicode和__FUNCTION__
我有一個自定義的assert函數,它會引發一個wstring消息。它的一部分是_ _FUNCTION__宏,我「unicodize」使用來自MSDN上擴大宏觀
#define WIDEN2(x) L ## x
#define WIDEN(x) WIDEN2(x)
它編譯於MSVC不錯,但它打印這GCC:
error: ‘L__FUNCTION__’ was not declared in this scope
唯一我可以使用的解決方案是使用mbstowcs將__FUNCTION __的內容轉換爲運行時的wstring,但我希望找到一種編譯時的方式來完成它。
感謝您的幫助。
你應該發佈你的'__FUNCTION__'宏。 – Gabe 2010-03-25 20:08:50
我認爲它是由編譯自動提供的,至少MSVS會自動公開它。它甚至不允許我去定義,所以我不知道它是如何定義的。 – 2010-03-25 20:16:51