2014-05-13 65 views
0

我需要使用C++編寫一個學校項目的png圖片。我發現png ++似乎很容易使用,但我有一些非常困難的時間設置一切,使其工作(它不)。我使用Cygwin來正確安裝zlib和libpng。我正確地在我的項目中包含了png ++頭文件(我使用的是Eclipse)。這裏有一些事情是不能正常工作:無法使png ++正常工作

如果我嘗試這行代碼(如圖here):

#error Byte-order could not be detected. 

image img(1024,768); 

我編輯關於日食之後得到這個錯誤我讀這個回答here,但解決方案不適合我(我在Windows 8 64位),我得到這個其他錯誤(這是我的主要問題,因爲字節順序可以「殘酷」固定):

missing template arguments before 'img' 

但是即使我鍵入一個有效模板實參(如< PNG :: rgb_pixel> < PNG :: rgba_pixel> < PNG :: gray_pixel> < PNG :: ga_pixel>)它說,它是無效的。

我顯然不是這方面的專家,我不知道還有什麼可以嘗試的。任何幫助將非常感激。如果您需要更多信息,請寫評論,我會提供。

+0

你試過什麼模板參數? 此外,'png.hpp'不在您的包含路徑中。這就是第二個錯誤的含義。 – Qix

+2

您應該找到一個不過時的示例。 –

+0

@Qix我試過,我仍然得到Byte-order錯誤。在eclipse上編譯測試而不是cygwin,我只得到Byte-order錯誤,沒有任何關於png.hpp丟失的信息。 但即使我以某種方式找到Byte-order錯誤的解決方法,模板問題仍然存在。所以現在,這是阻止我進行簡單代碼工作的唯一因素。 – G4bri3l

回答

0

對於模板參數,我認爲這實際上只是一個Eclipse問題,它應該已經編譯好了。但爲了擺脫Eclipse錯誤,你可以在這裏看到我的答案:https://stackoverflow.com/a/28400902/583620

對於字節順序問題的一種簡單的方法來解決這個問題是剛剛進入PNG ++頭文件夾位置(可能在/ usr /本地/包括),開放config.hpp,並把

#define _WIN32 

之前// Endianness test評論。這應該做到這一點。或者,您可以嘗試之前發佈的答案中提到的內容,並將_WIN32更改爲WIN32,但在我的情況下,WIN32沒有定義,因此只需定義_WIN32就更快。