Typical problem:
I first saw this error when trying to use both write_graphviz and read_graphviz functionality in my code. Notice it is a link error:
dfs2.obj : fatal error LNK1179: invalid or corrupt file: duplicate
comdat "?policies@?$iterator_adaptor@Vconst_iterator@ ...
Solution:
Select "Project Settings"c:\www.cuj.com/"C/C++" Tab/"Optimization" Category, and change from (default) "Disable" to "Only _inline". While in the dialog, take out Settings/"C/C++"c:\www.cuj.com/Debug Info:Program Database for "Edit & Continue", to avoid D2016 : 'c:\www.cuj.com/ZI' and 'c:\www.cuj.com/Ob1' that command-line options are incompatible.
At various times as I used different graph algorithms, I would get C1076: "compiler limit : internal heap limit reached." This has to be added directly to the C/C++ Preprocessor scroll window (for example, /Zm200).
The lack of Koenig lookup in VC6 shows up in different guises (see references). For example, in one line of my code:
std::transform(startEI,endEI,
std::back_inserter(vSignals),
GetSignalFunctor
This also points to the need for incremental build/compile because multiple errors can occur in a line of template call.
When property_maps are used, sometimes passing the wrong type (edge instead of vertex, or vice versa) will cause a fatal error C1001: INTERNAL COMPILER ERROR. Example :
_EdgeAttrMap[v]["label"]=signal; // edge accessed with vertex