2012-05-07 30 views
3

我被困在Visual 2008 SP1中的問題。'/ FP:快' 和 '/ ZA' 不兼容的Visual C++

編譯器產生:

'/ FP:快' 和 '/ ZA' 是不兼容的

的問題是,我沒有在屬性中使用/雜誌..所以當沒有設置選項時,我不明白爲什麼會有衝突。

這裏是我的項目屬性生成的命令行:

/Od /I "..\..\..\..\..\tools\gsoap-soapcpp-2.7.6\src" /I "..\..\..\..\..\platform\vs2008\win32\gsoap-soapcpp-2.7.6\src" 
/D "WIN32" /D "_DEBUG" /D 
"_CONSOLE" /D "YY_NO_UNISTD_H" /D "_WIN32_WCE=0x700" /D "UNDER_CE" /D "WINCE" /D 
"DEBUG" /D "ARM" /D "_ARM_" /D "_UNICODE" /D "UNICODE" /Gm /EHsc /MTd /fp:fast /GR- 
/Fo"Freescale i.MX53 QSB - WEC7 (ARMv4I)\Debug IMX53/" /Fd"Freescale i.MX53 QSB - WEC7 
(ARMv4I)\Debug IMX53/vc80.pdb" /W3 /nologo /c /TP /wd4996 

正如你所看到的,/計劃生育:快速設置而不是/雜誌。

是否有可能間接引用/雜誌的另一種選擇?

挖多一點之後,我意識到BuildLog.htm文件說:你爲什麼會創建第二個臨時文件的任何想法

Creating temporary file "(...)\Freescale i.MX53 QSB - WEC7 (ARMv4I)\Debug IMX53\RSP00000341365424.rsp" with content 

[{CORRECT COMMAND LINE} 

{list of source files paths} 
] 

Creating command line "cl.exe @"(...)\Freescale i.MX53 QSB - WEC7 (ARMv4I)\Debug IMX53\RSP00000341365424.rsp" /nologo" 
Creating temporary file "(...)\Freescale i.MX53 QSB - WEC7 (ARMv4I)\Debug IMX53\RSP00000441365424.rsp" with content 
[ 
{WRONG COMMAND LINE containing /Za} 
{list of source files paths} 
] 
Creating command line "cl.exe @"(...)\Freescale i.MX53 QSB - WEC7 (ARMv4I)\Debug IMX53\RSP00000441365424.rsp"/nologo" 

做什麼?我需要在我的項目中修復一個屬性嗎?

[編輯]感謝漢斯我想通了這個問題。項目中的一個文件有一個不同的編譯器選項,我不知道是哪個導致了問題。我發現到底是哪一個感謝buildlog.htm文件

+0

哇。如果我用引號將該消息穀歌,這個問題是唯一的結果。爲了記錄,我也沒有線索。祝你好運! – Thomas

+0

嘗試*明確*添加'/ Ze'開關。 –

+0

我剛用新信息更新了我的第一篇文章 – djfoxmccloud

回答

4

眼看編譯器入門不止一次強烈的暗示,問題的根源。您可能在項目中有一些源代碼文件,它們已單獨打開/ Za。快速修復是使用Shift + Click選擇項目中的所有文件並重置選項。

0

我的猜測是,你正在使用的WinCE的錯誤版本的VS2008 - 你似乎是在這裏進行ARM編譯是嗎?我的懷疑是由引用vc80.pdb引起的,它面對VS2005復古符號文件。也許這是你正在移植的VS2005項目?

here這個問題表明您不應該手動定義_WIN32_WCE,您可以嘗試將其提供的建議與正確的Platform SDK定義相關聯。

+0

嗯,我沒有手動定義它。它被設置爲WIN32_WCE = $(CEVER),然後被處理爲「_WIN32_WCE = 0x700」。關於vc80.pdb ,是我的項目是升級從2005年至2008年 – djfoxmccloud

+0

恐怕我的輸入是有點在黑暗中拍攝的,但顯得太大的評論的項目。你有沒有嘗試導入代碼作爲一個新的項目,而不是升級?也許該變體的升級過程有一個或多個錯誤。 GUI項目屬性(或.vcproj文件中)是否有任何設置,看起來像VS2005-y?例如。如果您在任何地方看到80,請嘗試將其更改爲90(在備份原件後)。我想知道你是否在某種程度上選擇了與VS2008二進制不兼容的VS2005庫。 –

+0

好吧,它似乎不是什麼問題,但我可能不得不改變它的想法。謝謝 – djfoxmccloud