D8048: No se puede compilar el archivo C 'OpenSSL Applink.c' con la opción /ZW
-
25-10-2019 - |
Pregunta
Estoy tratando de usar OpenSSL en mi aplicación Metro. Creé un C ++ WinRTComponent y tengo archivos OpenSSL en este componente
Sin embargo, cuando intento compilar el proyecto, recibí el siguiente error: D8048: cannot compile C file 'openssl\applink.c' with /ZW option
¿Alguien puede decirme cómo debo resolver este problema para que mi proyecto compile?
Avíseme si necesita alguna otra información para ayudarme.
Gracias,
Solución
El mensaje de error es exactamente lo que dice que es: VC ++ no admite extensiones C ++ /CX, habilitada con /ZW Compilador Switch - en archivos compilados como C (lo que tiene sentido, ya que esas extensiones están orientadas a objetos).
La razón por la que está viendo esto es que, por defecto, todos los archivos en un proyecto Metro C ++ se compilan con /ZW. Desafortunadamente, esto también se aplica a los archivos .c, a pesar de que en realidad no funciona para ellos. Lo que necesita es deshabilitar las extensiones selectivamente para esos archivos. Puede hacerlo a través del clic derecho -> Propiedades en un archivo o una selección de archivos en Solution Explorer. En el cuadro de diálogo de páginas de propiedades, navegue a C/C ++ -> General y busque "Habilitar extensiones de tiempo de ejecución de Windows".