2012-02-16 17 views
9

Estoy tratando de usar OpenSSL en mi aplicación de metro. He creado un C++ WinRTComponent y tienen archivos de OpenSSL en este componenteD8048: no se puede compilar el archivo C 'openssl applink.c' con la opción/ZW

Sin embargo, cuando intento compilar el proyecto, tengo el siguiente error: D8048: cannot compile C file 'openssl\applink.c' with /ZW option

Alguien me puede decir cómo debería resolver este problema para conseguir mi proyecto para compilar?

Háganme saber si necesita cualquier otra información para ayudarme.

Gracias,

Respuesta

20

El mensaje de error es exactamente lo que dice que es - VC++ no soporta las extensiones C++/CX - activado con el interruptor/ZW compilador - en los archivos compilados como C (que poco tiene sentido, ya que los las extensiones están orientadas a objetos).

La razón por la que está viendo esto es que, de forma predeterminada, todos los archivos en un proyecto de Metro C++ se compilan con/ZW. Desafortunadamente, esto también se aplica a los archivos .c, aunque en realidad no funciona para ellos. Lo que necesita es deshabilitar las extensiones de forma selectiva para esos archivos. Puede hacerlo haciendo clic derecho -> Propiedades en un archivo o una selección de archivos en el Explorador de soluciones. En el cuadro de diálogo Páginas de propiedades, vaya a C/C++ -> General y busque "Habilitar extensiones de tiempo de ejecución de Windows".

+0

Gracias @ParvelMinaev, ya no me sale este error, en cambio, tengo LNK2019: símbolo externo sin resolver ... quejándose de algunos nombres de métodos de openssl. Creo que este es un problema aparte de este post. Así que muchas gracias. –

+0

@Louis_PIG ha solucionado el problema. Declaré Extern "C" {} y funcionó – onmyway133

Cuestiones relacionadas