# Trouble Shooting

    error C2784: 'T __cdecl source(struct std::pair<T,T>,const G &)' :
    could not deduce template argument for 'struct std::pair<_T1,_T1>' from
     'class boost::detail::bidir_edge<struct boost::bidirectional_tag,unsigned int>'

VC++ does not support Koenig Lookup, therefore you need to refer to functions defined in the boost namespace using the `boost::` prefix, i.e., `boost::source(e, g)` instead of `source(e, g)`.

    ../../..\boost/property_map.hpp(283) : error C2678: binary '[' : no operator defined
     which takes a left-hand operand of type 'const struct boost::adj_list_edge_property_map<struct
     boost::bidirectional_tag,struct boost::property<enum boost::edge_weight_t,int,struct
     boost::no_property>,unsigned int,enum boost::edge_weight_t>' (or there is no acceptable conversion)

There is a VC++ bug that appears when using `get(property, graph, edge)`. A workaround is to use `get(get(property, graph), edge)` instead.

    C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\xmemory(59) : fatal
    error C1001: INTERNAL COMPILER ERROR
            (compiler file 'msc1.cpp', line 1786)

There can be many reasons for this error, but sometimes it is caused by using the flag `/Gm` (minimal rebuild). As this flag is not really necessary, it is a good idea to turn it off.

    V:\3rdPARTY\SXL\INCLUDE\xlocnum(309) : error C2587: '_U' : illegal
     use of local variable as default parameter

Workaround from Andreas Scherer:
That's the usual problem with MSVC-- 6.0 sp[34] when compiling some (or all?) of the BGL examples. You can't use the DLL version of the run-time system. I succeeded in compiling file_dependencies.cpp after switching to ``[Debug] Multithreaded'' (section ``Code Generation'' on page ``C/C++'' in the ``Project Settings'').

Copyright © 2000 | Jeremy Siek, Univ.of Notre Dame (jsiek@lsc.nd.edu) Lie-Quan Lee, Univ.of Notre Dame (llee1@lsc.nd.edu) Andrew Lumsdaine, Univ.of Notre Dame (lums@lsc.nd.edu)