D8048: ne peut pas compiler le fichier C 'OpenSSL \ applink.c' avec / ZW options
-
25-10-2019 - |
Question
Je suis en train d'utiliser OpenSSL dans ma demande de métro. J'ai créé un WinRTComponent C ++ et avoir des fichiers OpenSSL sous cette composante
Cependant, lorsque je tente de compiler le projet, je me suis l'erreur suivante:
D8048: cannot compile C file 'openssl\applink.c' with /ZW option
Quelqu'un peut me dire comment dois-je résoudre ce problème pour obtenir mon projet de compilation?
S'il vous plaît laissez-moi savoir si vous avez besoin d'autres informations pour me aider.
Merci,
La solution
Le message d'erreur est exactement ce qu'il dit qu'il est - VC ++ ne supporte pas les extensions C ++ / CX - activé avec commutateur de compilateur / ZW - dans des fichiers compilés comme C (ce qui en fait un peu de sens, étant donné que ces extensions sont orientées objet).
La raison pour laquelle vous voyez est que, par défaut, tous les fichiers dans un projet de métro C sont compilés avec / ZW. Malheureusement, cela vaut aussi pour les fichiers .c, même si cela ne fonctionne pas vraiment pour eux. Qu'est-ce que vous avez besoin est de désactiver les extensions pour les fichiers de manière sélective. Vous pouvez le faire via un clic droit -> Propriétés sur un fichier ou une sélection de fichiers dans l'Explorateur de solutions. Dans la boîte de dialogue Pages de propriétés, accédez à C / C ++ -.> Général et recherchez "Activer de Windows Run Time Extensions"