Errores de encabezados precompilados de Visual C ++
Actualizar:
¿Cuáles son los efectos de incluir stdafx.h en mis archivos de encabezado?
Comencé con un proyecto de C ++ en Linux / Eclipse CDT y lo importé a Visual C ++ / Windows.
En Visual C ++, comencé a usar encabezados precompilados para acelerar la compilación y definí stdafx.cpp y stdafx.h.
Aquí está mi stdafx.h
#pragma once
#include <string>
#include <vector>
#include <map>
...
y mi stdafx.cpp
#include "stdafx.h"
En cada archivo .h y .cpp, tengo lo siguiente:
#pragma once //if in a header file
#include "stdafx.h"
Tanto para la versión como para la depuración, tengo "Crear encabezado precompilado (/ Yc)". Se compiló bien en el modo de depuración, pero en el modo de lanzamiento sigue informando
error LNK2005: ___@@_PchSym_@00@UfhvihUaszlaDUwlxfnvmghUnnlUhixUnnlPeDUnnlPeDUivovzhvUvmgrgbOlyq@ already defined in A.obj
Si cambio ambos a "Usar encabezado precompilado", obtengo Debug y Release
fatal error C1854: cannot overwrite information formed during creation of the precompiled header in object file:
¿Alguien sabe lo que está pasando?