Tengo algunas dificultades para compilar un programa en C++ que he escrito.¿Por qué este programa es erróneamente rechazado por tres compiladores de C++?
Este programa es muy simple y, según mi leal saber y entender, cumple con todas las reglas establecidas en el estándar C++. He leído la totalidad de ISO/IEC 14882: 2003 dos veces para estar seguro.
El programa es el siguiente:
Aquí está la salida he recibido al intentar compilar este programa con 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
Consternada, probé g ++ 4.5. 2, pero tampoco fue útil:
c:\dev>g++ helloworld.png
helloworld.png: file not recognized: File format not recognized
collect2: ld returned 1 exit status
Me imaginé que Clang (versión 3.0 trunk 127530) debe funcionar, ya que es muy elogiado por su conformidad con los estándares. Por desgracia, ni siquiera me dan una de su bastante, destacó mensajes de error:
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)
Para ser honesto, realmente no sé lo que cualquiera de estos mensaje de error medio.
Muchos otros programas C++ tienen archivos fuente con una extensión .cpp, así que pensé que tal vez necesitaba cambiar el nombre de mi archivo. Cambié su nombre a helloworld.cpp, pero eso no ayudó. Creo que hay un error muy serio en Clang porque cuando traté de usarlo para compilar el programa renombrado, se volcó e imprimió "84 advertencias y 20 errores generados". e hizo que mi computadora emitiera un pitido.
¿Qué he hecho mal aquí? ¿Me he perdido alguna parte crítica del Estándar C++? ¿O los tres compiladores son tan incompletos que no pueden compilar este sencillo programa?
Creo que esa frase es, en el mejor de los casos, ambigua. El diccionario Merriam-Webster dice que _text_ es _las palabras originales y la forma de un trabajo escrito o impreso_ o _un trabajo que contiene dicho texto_. Este archivo fuente cae claramente bajo esa definición. ¿Crees que debería presentar un informe de defectos con el Core Language Working Group? –