我試圖重複使用另一個項目中的代碼,但在複製類時,它在新項目中生成了編譯器錯誤,但是當它在另一個項目中時,它工作得很好。相同的代碼在一個項目中生成錯誤,但不是另一個項目
該錯誤是
Cannot initialize a parameter of type 'const uint8_t *' (aka 'const unsigned char *') with an rvalue of type 'const void *'
和代碼是
[outputStream write:[userdata bytes] maxLength:[userdata length]];
的OutputStream是NSOutputStream,和userData是一個NSData對象。 兩個項目中都使用圍繞此語句的相同代碼。
這兩個項目都針對相同的目標OS(iOS 5.0)和archetecture(armv7)進行編譯,並且都添加了相同的框架。
我也嘗試清理該項目,並重新構建它。同樣的問題。
任何幫助,將不勝感激。
您是否嘗試從編譯器標誌中刪除-Werr,-Wall,-Wextra或-pedantic開關? – 2012-01-27 21:06:45
我沒有將它們添加到任何一個項目中,如果將它們添加到一個項目中,Xcode可能會將它們添加到兩個項目中。 – magmastonealex 2012-01-28 00:32:29
在很晚才跳過,並且遇到類似的問題,事實證明,如果沒有人調用方法,則可能無法編譯方法。所以可能有一個項目不會調用特定的代碼,另一個可以。 [詳細](http://stackoverflow.com/a/15213415/1179377)。 – Izhaki 2013-03-05 01:16:31