Visual Studio 2015 Actualización 1, Error de clang -- ++ campo con visual-studio-2015 campo con clang camp Relacionados El problema

Visual Studio 2015 Update 1, clang error


5
vote

problema

Español

Al intentar usar el nuevo clang con Visual CodeGen en mi proyecto (Visual Studio 2015 Update 1), recibo un error siguiente:

  clang.exe : error : cannot specify -o when generating multiple output files   

Este es solo un proyecto recién creado con Main Autogeneated.

Realmente no sé qué hacer al respecto.

Cualquier ayuda apreciada.

Original en ingles

when trying to use new clang with Visual Codegen in my project (Visual Studio 2015 Update 1), I'm getting following error:

clang.exe : error : cannot specify -o when generating multiple output files 

This is just a newly created project with autogenerated main.

I really don't know what to do about it.

Any help appreciated.

        
         
         

Lista de respuestas

6
 
vote
vote
La mejor respuesta
 

No es muy claro lo que está haciendo, pero parece obvio que no está usando una de las plantillas de proyectos de clang en el nodo de la plataforma cruzada. Puedo repro tu problema usando el Win32 & GT; Plantilla de proyecto Win32 y cambiando la selección del conjunto de herramientas de la plataforma del proyecto a "Clang 3.7".

Eso no funciona, enciende completamente la función de encabezado precompilado. De alguna manera, está convencido de que necesita compilar stdafx.h. No solo una vez, lo pasa el compilador dos veces. Lo que hace que Clang Barf con este mensaje de error, solo aceptará un archivo a la vez. Tampoco sabe cómo aprovechar el soporte de PCH de Clang, sin signos de la opción requerida -emit-PCH.

Tendrá que salir adelante girando la función. Proyecto & gt; Propiedades y GT; C / C ++ & gt; Encabezados precompilados y gt; Encabezado precompilado = "No usar ...". Seleccione STDAFX.CPP y REPETIR.

Eso resuelve el problema de construcción, el ejecutable final, un poco sorprendente, sin problemas. Debe ser algo claro que está utilizando el clang en un escenario que nunca fue probado por Microsoft. Parece que el analizador Intellisense va a necesitar mucho más trabajo también. Afaik Clang Soporte fue pensado para atacar a Android y iOS, la versión actual es la calidad alfa.

 

It is not very clear what you are doing but it seems obvious that you are not using one of the Clang project templates in the Cross Platform node. I can repro your problem by using the Win32 > Win32 Project template and changing the project's Platform Toolset selection to "Clang 3.7".

That doesn't work, it completely flubs the precompiled header feature. It is somehow convinced that it needs to compile stdafx.h. Not just once, it passes it the compiler twice. Which makes Clang barf with this error message, it will only accept one file at a time. It also doesn't know how to take advantage of Clang's PCH support, no sign of the required -emit-pch option.

You'll need to get ahead by turning the feature off. Project > Properties > C/C++ > Precompiled Headers > Precompiled Header = "Not using...". Select stdafx.cpp and repeat.

That solves the build problem, the final executable somewhat surprising runs without issue. It should be somewhat clear that you are using Clang in a scenario that was never tested by Microsoft. Looks like the IntelliSense parser is going to need a lot more work as well. Afaik Clang support was intended to target Android and iOS, current version is alpha quality.

 
 
     
     
1
 
vote

Solo como una adición a la respuesta aceptada, si aún está experimentando este problema, incluso después de configurar fbprophet3 . El otro problema podría ser un valor incorrecto en el campo fbprophet414 .

El campo se puede encontrar en: Proyecto & GT; Propiedades y GT; C / C ++ & gt; General & GT; Nombre del archivo de objeto = fbprophet5

Nota: originalmente descubra esta solución aquí: http://www.progtown.com/topic2009949-clang < / a>

 

Just as an addition to the accepted answer, if you are still experiencing this issue even after setting Precompiled Header = "Not using...". The other issue might be an incorrect value in the Object File Name field.

That field can be found under: Project > Properties > C/C++ > General > Object File Name = $(IntDir)%(filename).obj

Note: originally discover this solution here: http://www.progtown.com/topic2009949-clang

 
 

Relacionados problema

1  Raro comportamiento de Basename () en Mac OS  ( Weird behavior of basename on mac os ) 
Tengo un programa simple para probar el método de nombre de basen (): #include <stdio.h> #include <string.h> //#include <libgen.h> int main (int argc , ch...

4  ¿Cómo hacer que las plantillas de C ++ funcionen para los tipos OBJETIVOS C con ARC?  ( How to make c templates work for objective c types with arc ) 
Tomar un ejemplo trivial. Si compila el siguiente archivo #import <Foundation/Foundation.h> template <typename T> int testing(const T & whoCares) { retu...

3  LD: Framework No Found -Framework Error  ( Ld framework not found framework error ) 
Estoy constantemente obteniendo este error cada vez que intento construir mi proyecto: ld: framework not found -framework clang: error: linker command fail...

2  Evitar el acceso fuera de la clase  ( Prevent access outside of class ) 
Me gustaría restringir una clase para acceder a sus miembros y nada más, para minimizar explícitamente los efectos secundarios en esa clase. Al final, el co...

2  Vector <int> fábrica con inicialización no está funcionando  ( Vectorint factory with initialization is not working ) 
He intentado crear una fábrica de vectores que crea un vector de 99887776636 valores del tamaño especificado TIn7 pero no funciona como se espera. TIn8...

8  ¿Es posible obtener una salida lexora de GCC o CLANG?  ( Is it possible to get lexer output from gcc or clang ) 
¿Es posible que se llene o gcc muestre el resultado de la fase lexing? ...

0  No puedo encontrar el derecho llvm en macos  ( Cant find right llvm in macos ) 
Yo uso Lion, tenga el último XCode instalado. Así que creo que tengo llvm, clang y GCC4.2 (porque en Xcode puedo usarlos). Luego instalé Eclipse para los desa...

2  ¿Qué compilación con <minix / mthread.h> en minix?  ( How compile with minix mthread h in minix ) 
Actualmente, estoy estudiando Minix y estoy haciendo un sistema basado en Threads y no sé cómo compilar mi programa. Por ejemplo: Mthreads.c #inc...

0  ¿Hay alguna opción de compilación que deshabilita la advertencia que obtiene cuando inicializa una estructura en línea?  ( Is there any compiler option that disables the warning you get when you initiali ) 
Estoy buscando una configuración del compilador que me permita hacer esto: [imageGraphEraserIcon imageByResampling:{20, 20} zoom:3]; Sin lanzar una advert...

1  Boost Asio Timer envuelto en Coroutines causa Segfault en Clang-5.0  ( Boost asio timer wrapped in coroutines causes segfault on clang 5 0 ) 
El siguiente código causa segfault en Clang-5.0 con soporte de coroutinas habilitadas. Puede ejecutar el código en línea aquí: código compilado de wandbox ...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos