Saya mengalami kesulitan menyusun program C ++ yang saya tulis.
Program ini sangat sederhana dan, setahu saya, sesuai dengan semua aturan yang ditetapkan dalam Standar C ++. Saya sudah membaca keseluruhan ISO / IEC 14882: 2003 dua kali untuk memastikan.
Programnya adalah sebagai berikut:
Ini adalah output yang saya terima ketika mencoba mengkompilasi program ini dengan Visual C ++ 2010:
c:\dev>cl /nologo helloworld.png
cl : Command line warning D9024 : unrecognized source file type 'helloworld.png', object file assumed
helloworld.png : fatal error LNK1107: invalid or corrupt file: cannot read at 0x5172
Merasa cemas, saya mencoba g ++ 4.5.2, tetapi sama-sama tidak membantu:
c:\dev>g++ helloworld.png
helloworld.png: file not recognized: File format not recognized
collect2: ld returned 1 exit status
Saya pikir Clang (versi 3.0 trunk 127530) harus bekerja, karena sangat dipuji karena kesesuaian standarnya. Sayangnya, itu bahkan tidak memberi saya salah satu pesan kesalahannya yang cantik dan disorot:
c:\dev>clang++ helloworld.png
helloworld.png: file not recognized: File format not recognized
collect2: ld returned 1 exit status
clang++: error: linker (via gcc) command failed with exit code 1 (use -v to see invocation)
Sejujurnya, saya tidak benar-benar tahu apa arti dari pesan kesalahan ini.
Banyak program C ++ lainnya memiliki file sumber dengan ekstensi .cpp , jadi saya pikir mungkin saya perlu mengganti nama file saya. Saya mengubah namanya menjadi helloworld.cpp , tetapi itu tidak membantu. Saya pikir ada bug yang sangat serius di Dentang karena ketika saya mencoba menggunakannya untuk mengkompilasi program yang diganti namanya, ia membalik, mencetak "84 peringatan dan 20 kesalahan yang dihasilkan." dan membuat banyak bip komputer saya!
Apa yang saya lakukan salah di sini? Apakah saya melewatkan beberapa bagian penting dari Standar C ++? Atau apakah ketiga kompiler ini benar-benar rusak sehingga mereka tidak dapat menyusun program sederhana ini?