2013-08-18 37 views
0

我一直在玩PDCurses,並且遇到了一些問題。最終我登陸了here,它解決了我的問題。如何驗證在編譯時msvc 2010 C++項目中編譯器選項是否已正確設置?

基本上我的PDCurses項目是用UNICODE CHARACTER設置編譯的。結果塊字符被顯示爲大寫U.將庫設置爲NOT SET作爲字符集解決了這個問題。

有沒有一種技術可以讓我在PDCurses的源代碼中嵌入一些能夠檢測到哪個字符集選項被選中的東西,並且在沒有正確設置的情況下執行編譯時ASSERT?

我看過雜誌上市。符合選項和運行時檢查似乎做了類似的事情。

+0

AFAIK,沒有編譯器選項「字符集」。在Visual Studio中選擇此開關將生成_UNICODE宏,可以在程序文本中對其進行測試。 –

+1

測試_MBCS(多字節)和_UNICODE宏。如果沒有定義它們,則不選擇字符集。 –

回答

0

它似乎工作。謝謝

#ifdef _UNICODE 
    #error "Unicode may not be set for this library" 
#else 
    #ifdef _MBCS 
     #error "Multi Byte may not be set for this libary" 
    #endif 
#endif