title: Boost in Visual Studio 2010, IntelliSense error
body: <p>I would like to see if you could orient me.</p>
  
  <p>It happens that I compiled and referenced the boost libraries in order to use them with Visual Studio 2010. When building my test project I get these two IntelliSense errors</p>
  
  <pre><code>1   IntelliSense: #error directive: "Macro BOOST_LIB_NAME not set (internal error)" c:\boost_1_43_0\boost\config\auto_link.hpp
  
  2   IntelliSense: #error directive: "some required macros where not defined (internal logic error)."    c:\boost_1_43_0\boost\config\auto_link.hpp
  </code></pre>
  
  <p>Checking the auto_link.hpp header file the first error is in this line</p>
  
  <pre><code>#ifndef BOOST_LIB_NAME
  #  error "Macro BOOST_LIB_NAME not set (internal error)"
  #endif
  </code></pre>
  
  <p>Tracing the definition of <code>BOOST_LIB_NAME</code>, it seems that is defined in config.hpp by boost_regex, which code I am including below</p>
  
  <pre><code>#if !defined(BOOST_REGEX_NO_LIB) &amp;&amp; !defined(BOOST_REGEX_SOURCE) &amp;&amp; !defined(BOOST_ALL_NO_LIB) &amp;&amp; defined(__cplusplus)
  #  define BOOST_LIB_NAME boost_regex
  #  if defined(BOOST_REGEX_DYN_LINK) || defined(BOOST_ALL_DYN_LINK)
  #     define BOOST_DYN_LINK
  ... more code
  </code></pre>
  
  <p>and strangely when I point to <code>BOOST_LIB_NAME</code> it defines <code>BOOST_LIB_NAME</code> and the IntelliSense errors disappear. </p>
  
  <p>My program builds and executes fine using the Boost:Regex library -- with or without the Intellisense errors; however, I do not understand why these IntelliSense errors appear in the first place, and second why pointing the macro in the config.hpp defines <code>BOOST_LIB_NAME</code>.</p>
  
  <p>Any guidance will be greatly appreciated.</p>
  
  <p>Thanks,</p>
  
  <p>Jaime</p>