Linking to OCCI libs generates warnings about std::string - occi

I have created a Static Library project (sll) which is using the std::string. Then I linked it to oraocci12.lib (for release) and oraocci12d.lib (for debug). And just upon linking the static library to the OCCI ones the project generates many warnings about std::string. The warnings are all about already defined symbols, something like:
warning LNK4006: "public: void __cdecl std::basic_string,class std::allocator >::_Copy(unsigned
__int64,unsigned __int64)" (?_Copy#?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##QEAAX_K0#Z)
already defined in oraocci12.lib(oraocci12.dll); second definition
ignored
warning LNK4006: "public: char * __cdecl std::_Wrap_alloc >::allocate(unsigned __int64)"
(?allocate#?$_Wrap_alloc#V?$allocator#D#std###std##QEAAPEAD_K#Z)
already defined in oraocci12.lib(oraocci12.dll); second definition
ignored
warning LNK4006: "public: class std::basic_string,class std::allocator > & __cdecl
std::basic_string,class
std::allocator >::assign(class std::basic_string,class std::allocator > const &,unsigned
__int64,unsigned __int64)" (?assign#?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##QEAAAEAV12#AEBV12#_K1#Z)
already defined in oraocci12.lib(oraocci12.dll); second definition
ignored
warning LNK4006: "public: class std::basic_string,class std::allocator > & __cdecl
std::basic_string,class
std::allocator >::assign(char const *,unsigned __int64)"
(?assign#?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##QEAAAEAV12#PEBD_K#Z)
already defined in oraocci12.lib(oraocci12.dll); second definition
ignored
warning LNK4006: "public: class std::basic_string,class std::allocator > & __cdecl
std::basic_string,class
std::allocator >::erase(unsigned __int64,unsigned __int64)"
(?erase#?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##QEAAAEAV12#_K0#Z)
already defined in oraocci12.lib(oraocci12.dll); second definition
ignored
warning LNK4006: "`string'"
(??_C#_0BA#JFNIOLAK#string?5too?5long?$AA#) already defined in
oraocci12.lib(oraocci12.dll); second definition ignored
warning LNK4006: "`string'"
(??_C#_0BI#CFPLBAOH#invalid?5string?5position?$AA#) already defined in
oraocci12.lib(oraocci12.dll); second definition ignored
I have tried changing the:
Platform Toolset in Project Properties => General.
Character Set in Project Properties => General.
Runtime Library in Project Properties => C/C++ => Code Generation.
Verbose in Project Properties => Librarian => General.
Ignore All default Libraries in Project Properties => Librarian => General.
Also tried linking to different oracle libs:
msvc\vc14\oraocci12.lib (release)
msvc\vc14\oraocci12d.lib (debug)
msvc\oraocci12.lib (release)
msvc\oraocci12d.lib (debug)
I have also tried many combinations of the above, but the problem persists.
IMP: It happens if the project type is sll. If it is changed to dll, then the warnings go away.
Environment details:
Visual Studio Professional 2017 (15.6.7)
Project Type is Static Library (sll, x64)
Windows 10
Oracle instantclient-sdk-windows.x64-12.2.0.1.0
Thanks all!

Related

Error building c++ project with ppconsul(Consul client for c++)

I'm a beginner to cpp and trying to use a cpp library called ppconsul(https://github.com/oliora/ppconsul ). This library has dependency to some of other libraries like (boost and curl). I have build ppconsul with all its dependencies and trying to use ppconsul executable in a new project. When I try to build the new project, I'm getting some linker issue like below.
error LNK2001: unresolved external symbol "public: virtual char const * thiscall ppconsul::BadStatus::what(void)const " (?what#BadStatus#ppconsul##UBEPBDXZ)
1>ConsulApp.obj : error LNK2019: unresolved external symbol "class std::basic_string,class std::allocator > __cdecl ppconsul::helpers::encodeUrl(class std::basic_string,class std::allocator > const &)" (?encodeUrl#helpers#ppconsul##YA?AV?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##ABV34##Z) referenced in function "void __cdecl ppconsul::parameters::detail::printParameter(class std::basic_ostream > &,class std::basic_string,class std::allocator > const &,struct ppconsul::kw::dc_keyword)" (??$printParameter#Udc_keyword__#kw#ppconsul###detail#parameters#ppconsul##YAXAAV?$basic_ostream#DU?$char_traits#D#std###std##ABV?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##4#Udc_keyword__#kw#2##Z)
I tried to link the project and change the visual studio but nothing worked. Anybody has any idea about this linker issue?
TIA,
Prassi
Issue resolved- Refer this thread github.com/oliora/ppconsul/issues/24
build ppconsul as a static library by passing -DBUILD_STATIC_LIB=ON to CMake.

Link errors using cryptopp on VS2012 static library, console application and clr program

I have the following project structure on VS2012 C++:
cryptopp: As downloaded and build from cryptopp project.
AccessLib: A static library build using cryptopp functions.
TestApp: A Win32 console application that uses AccessLib (and cryptolib indirectly)
UserApp: A Windows interactive application with CLR support (/clr) that uses AccessLib (and cryptolib indirectly)
Well, my first try was to make this solution work to build my console application and my windows application. BTW, cryptopp was build in a way described in manuals and this SO link. All tests from cryptopp project are running fine in the build environment.
Here is how I´ve build my project:
Set AccessLib as being /Mtd or /MT for Debug or Release respectively, linking with cryptolib.lib from cryptodir\Win32\Output\Debug and cryptodir\Win32\Output\Releaserespectively.
Set TestApp as being also /MTd or /MT for Debug or Release respectively, linking to AccessLib.lib generated from step above.
Fine till now, but when building UserAppit does not work as TestApp needs /clr and that´s incompatible with MTdor /MT.
So, here goes my first question: I can´t have a CLR program that links to a static library that has /MTdor /MT.... What should I do to build my /clr program to my static library AccessLib.lib that access cryptopp as a static library also ? Should I need to convert everything to DLL project ?
Well, I even tried to convert to use cryptopp as a DLL, that way:
Set AccessLib as being /MDd or /MD for Debug or Release respectively, linking with cryptolib.lib from cryptodir\Win32\DLL_Output\Debug and cryptodir\Win32\DLL_Output\Releaserespectively.
That step went fine, but when trying to build TestApp as being also /MDd or /MD for Debug or Release respectively, linking to AccessLib.lib generated from step above, I got several errors like:
1>------ Build started: Project: TestApp, Configuration: Debug Win32 ------
1>cryptlib.lib(hrtimer.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MDd_DynamicDebug' in TestApp.obj
1>cryptlib.lib(pch.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MDd_DynamicDebug' in TestApp.obj
1>msvcprtd.lib(MSVCP110D.dll) : error LNK2005: "public: __thiscall std::_Container_base12::_Container_base12(void)" (??0_Container_base12#std##QAE#XZ) already defined in cryptlib.lib(hrtimer.obj)
1>msvcprtd.lib(MSVCP110D.dll) : error LNK2005: "public: __thiscall std::_Container_base12::~_Container_base12(void)" (??1_Container_base12#std##QAE#XZ) already defined in cryptlib.lib(hrtimer.obj)
1>msvcprtd.lib(MSVCP110D.dll) : error LNK2005: "public: void __thiscall std::_Container_base12::_Orphan_all(void)" (?_Orphan_all#_Container_base12#std##QAEXXZ) already defined in cryptlib.lib(hrtimer.obj)
1>msvcprtd.lib(MSVCP110D.dll) : error LNK2005: "public: __thiscall std::locale::id::id(unsigned int)" (??0id#locale#std##QAE#I#Z) already defined in cryptlib.lib(pch.obj)
1>cryptopp.lib(cryptopp.dll) : error LNK2005: "public: unsigned char * __thiscall CryptoPP::AllocatorWithCleanup<unsigned char,0>::allocate(unsigned int,void const *)" (?allocate#?$AllocatorWithCleanup#E$0A##CryptoPP##QAEPAEIPBX#Z) already defined in accesslib.lib(Encryptor.obj)
1>cryptopp.lib(cryptopp.dll) : error LNK2005: "public: void __thiscall CryptoPP::AllocatorWithCleanup<unsigned char,0>::deallocate(void *,unsigned int)" (?deallocate#?$AllocatorWithCleanup#E$0A##CryptoPP##QAEXPAXI#Z) already defined in accesslib.lib(Encryptor.obj)
1>cryptopp.lib(cryptopp.dll) : error LNK2005: "public: unsigned char * __thiscall CryptoPP::AllocatorWithCleanup<unsigned char,0>::reallocate(unsigned char *,unsigned int,unsigned int,bool)" (?reallocate#?$AllocatorWithCleanup#E$0A##CryptoPP##QAEPAEPAEII_N#Z) already defined in accesslib.lib(Encryptor.obj)
1>cryptopp.lib(cryptopp.dll) : error LNK2005: "public: __thiscall CryptoPP::AllocatorWithCleanup<unsigned char,0>::AllocatorWithCleanup<unsigned char,0>(void)" (??0?$AllocatorWithCleanup#E$0A##CryptoPP##QAE#XZ) already defined in accesslib.lib(Encryptor.obj)
1>cryptopp.lib(cryptopp.dll) : error LNK2005: "public: __thiscall CryptoPP::Rijndael::Enc::Enc(void)" (??0Enc#Rijndael#CryptoPP##QAE#XZ) already defined in accesslib.lib(Encryptor.obj)
1>cryptopp.lib(cryptopp.dll) : error LNK2005: "public: virtual __thiscall CryptoPP::Rijndael::Enc::~Enc(void)" (??1Enc#Rijndael#CryptoPP##UAE#XZ) already defined in accesslib.lib(Encryptor.obj)
1>cryptopp.lib(cryptopp.dll) : error LNK2005: "public: __thiscall CryptoPP::Rijndael::Enc::Enc(class CryptoPP::Rijndael::Enc const &)" (??0Enc#Rijndael#CryptoPP##QAE#ABV012##Z) already defined in accesslib.lib(Encryptor.obj)
1>cryptopp.lib(cryptopp.dll) : error LNK2005: "public: static char const * __cdecl CryptoPP::CBC_ModeBase::StaticAlgorithmName(void)" (?StaticAlgorithmName#CBC_ModeBase#CryptoPP##SAPBDXZ) already defined in accesslib.lib(Encryptor.obj)
1>cryptopp.lib(cryptopp.dll) : error LNK2005: "public: __thiscall CryptoPP::CBC_Encryption::CBC_Encryption(void)" (??0CBC_Encryption#CryptoPP##QAE#XZ) already defined in accesslib.lib(Encryptor.obj)
1>cryptopp.lib(cryptopp.dll) : error LNK2005: "public: virtual __thiscall CryptoPP::CBC_Encryption::~CBC_Encryption(void)" (??1CBC_Encryption#CryptoPP##UAE#XZ) already defined in accesslib.lib(Encryptor.obj)
1>cryptopp.lib(cryptopp.dll) : error LNK2005: "public: virtual __thiscall CryptoPP::StreamTransformationFilter::~StreamTransformationFilter(void)" (??1StreamTransformationFilter#CryptoPP##UAE#XZ) already defined in accesslib.lib(Encryptor.obj)
1>cryptopp.lib(cryptopp.dll) : error LNK2005: "public: __thiscall CryptoPP::StringSinkTemplate<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >::StringSinkTemplate<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &)" (??0?$StringSinkTemplate#V?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std###CryptoPP##QAE#AAV?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std###Z) already defined in accesslib.lib(Encryptor.obj)
1>cryptopp.lib(cryptopp.dll) : error LNK2005: "public: virtual __thiscall CryptoPP::StringSinkTemplate<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >::~StringSinkTemplate<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >(void)" (??1?$StringSinkTemplate#V?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std###CryptoPP##UAE#XZ) already defined in accesslib.lib(Encryptor.obj)
1>cryptopp.lib(cryptopp.dll) : error LNK2005: "public: __thiscall CryptoPP::Exception::Exception(enum CryptoPP::Exception::ErrorType,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (??0Exception#CryptoPP##QAE#W4ErrorType#01#ABV?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std###Z) already defined in accesslib.lib(Encryptor.obj)
1>LINK : warning LNK4098: defaultlib 'LIBCMTD' conflicts with use of other libs; use /NODEFAULTLIB:library
1>accesslib.lib(Encryptor.obj) : error LNK2001: unresolved external symbol "class CryptoPP::NameValuePairs const & const CryptoPP::g_nullNameValuePairs" (?g_nullNameValuePairs#CryptoPP##3ABVNameValuePairs#1#B)
1>c:\project\dev\accesslib\Debug\TestApp.exe : fatal error LNK1120: 1 unresolved externals
========== Build: 0 succeeded, 1 failed, 1 up-to-date, 0 skipped ==========
I did not move to build UserApp with that configuration.
Help is appreciated to make this whole thing work together. I want to avoid usage of DLL´s at all. My original idea is to have everything as static libraries, but I don´t know if I can achieve that on that solution configuration.
Help appreciated.
You can not link a library compiled with MT or MTd to a program complied with MD or MDd. They have different CRT library.
You can rebuild cryptopp with MD or MDd
That step went fine, but when trying to build TestApp as being also /MDd or /MD for Debug or Release respectively, linking to AccessLib.lib generated from step above, I got several errors like...
You are mixing and matching runtimes. You should probably change Crypto++ and make it use dynamic runtime linking the the C/C++ runtime library. See Visual Studio | Dynamic Runtime Linking on the Crypto++ wiki.
I want to avoid usage of DLL´s at all. My original idea is to have everything as static libraries, but I don´t know if I can achieve that on that solution configuration.
Yes, this is preferred. It will work, but you need to build the Crypto++ static library using dynamic runtime linking. The project you want is cryptlib, and its output is found in <crypto++ dir>/Output/{Debug|Release}/{Win32|x64}. See the previous links.
You should also avoid the FIPS DLL. The DLL project is cryptdll, and its output is found in <crypto++ dir>/DLL_Output/.... The DLL is special purpose, and it only provides FIPS algorithms. Its not a general purpose DLL, it lacks most stuff you need, and it causes a lot of pain and misery.
I even go so far as to tell people to completely delete the cryptdll and dlltest projects because they cause so much trouble. Also see FIPS DLL on the Crypto++ wiki.
Link errors using cryptopp on VS2012 static library, console application and clr program
This is noteworthy... Crypto++ does not use the /clr option. You will need to modify the static library project settings and add it.
The static library's project is called cryptlib. You will need to do it for Win32 Debug, Win32 Release, x64 Debug and x64 Release.

C++ IDE migration from VS 6 to VS 2013

A C++ project can be compiled by VS6 without errors&warnings.
With VS 2013 Prof., linker problems are occuring. They are providing a pattern namely std::basic_string.
The code was written in 2007 but not by me.
Referenced by a constructor:
vrun.obj : error LNK2019: unresolved external symbol
"__declspec(dllimport) public: char const * __thiscall
std::basic_string,class
std::allocator >::c_str(void)const " (__imp_?c_str#?$basic_s
tring#DU?$char_traits#D#std##V?$allocator#D#2##std##QBEPBDXZ)
referenced in fun ction "public: __thiscall VTrs::VTrs(class
VMessageContext &)" (?? 0VDMTrs##QAE#AAVVDMMessageHandlerContext###Z)
In vrun.cpp:
VTrs::VTrs(VMessageContext& handler_):
Inherited(RXS::rName().c_str()),
_handler(handler_)
{
}
(c_str -> const char* c_str() const; --- C98 style --- C11 was not applied in the project till yet)
In vrun.h:
VTrs(VMessageContext&);
Referenced by an operator:
vrun.obj : error LNK2019: unresolved external symbol "__declspec(dllimport)
public: int __thiscall std::basic_string<char,struct std::char_traits<char>,cl
ass std::allocator<char> >::compare(char const *)const " (__imp_?compare#?$basi
c_string#DU?$char_traits#D#std##V?$allocator#D#2##std##QBEHPBD#Z) referenced in
function "bool __cdecl std::operator==<char,struct std::char_traits<char>,clas
s std::allocator<char> >(class std::basic_string<char,struct std::char_traits<c
har>,class std::allocator<char> > const &,char const *)" (??$?8DU?$char_traits#
D#std##V?$allocator#D#1##std##YA_NABV?$basic_string#DU?$char_traits#D#std##V?$a
llocator#D#2##0#PBD#Z)
Refers -as far as interpreted- to a standard operator. (No operator overloading done for == which refers to a string)
By the way, the code itself does not contain "std::basic_string".
The according msdn article was read but this issue was not resolved till yet.
'Usual' issues such as the "C" modifier modifications are already considered for another code.
Any hint how to cope with that?
EDIT: When opening the project the first time with Visual Studio 2013, a kind of conversion dialog was displayed. I agreed but it affected the VC++ Directories. It was visible when comparing the project file with ClearCase to the previous verison. UndoCheckout (via ClearCase) applied the old state. Now it works.
Your linker needs to get the newer MSVC std library from the relevant lib file and it should pick this up when you migrate the project. Take a look at Project Properties->Configuration Properties->Linker->Input and make sure "Ignore All Default Libraries" is set to No
When opening the project the first time with Visual Studio 2013, a kind of conversion dialog was displayed. I agreed but it affected the VC++ Directories. It was visible when comparing the project file with ClearCase to the previous version. UndoCheckout (via ClearCase) applied the old state. Now it works.

Boost-log linker error

i've downloaded and builded Boost 1.55 from source. I'm trying to use Boost-log. In basic case (http://boost-log.sourceforge.net/libs/log/doc/html)/log/tutorial.html#log.tutorial.trivial it's working fine without any problems, but when i try to use some more advanced features(like this - http://boost-log.sourceforge.net/libs/log/example/doc/tutorial_fmt_stream.cpp ) i'm getting this error:
main.obj : error LNK2019: unresolved external symbol "void __cdecl
boost::filesystem::path_traits::convert(char const *,char const
*,class std::basic_string,class std::allocator>
&,class std::codecvt const &)" (?convert#path_traits#filesystem#boost##YAXPBD0AAV?$basic_string#GU?$char_traits#G#std##V?$allocator#G#2##std##ABV?$codecvt#GDH#5##Z)
referenced in function "void __cdecl
boost::filesystem::path_traits::dispatch,class std::allocator > >(class
std::basic_string,class
std::allocator > const &,class std::basic_string,class
std::allocator > &,class std::codecvt const &)"
(??$dispatch#V?$basic_string#GU?$char_traits#G#std##V?$allocator#G#2##std###path_traits#filesystem#boost##YAXABV?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##AAV?$basic_string#GU?$char_traits#G#std##V?$allocator#G#2##4#ABV?$codecvt#GDH#4##Z)
1>main.obj : error LNK2019: unresolved external symbol "void __cdecl
boost::log::v2s_mt_nt5::aux::code_convert(unsigned short const
*,unsigned int,class std::basic_string,class std::allocator > &,class
std::locale const &)"
(?code_convert#aux#v2s_mt_nt5#log#boost##YAXPBGIAAV?$basic_string#DU?$char_traits#D#std##V?$allocator#D#2##std##ABVlocale#6##Z)
referenced in function "private: void __thiscall
boost::log::v2s_mt_nt5::basic_formatting_ostream,class std::allocator>
::aligned_write(unsigned short const *,__int64)" (??$aligned_write#G#?$basic_formatting_ostream#DU?$char_traits#D#std##V?$allocator#D#2##v2s_mt_nt5#log#boost##AAEXPBG_J#Z)
1>main.obj : error LNK2019: unresolved external symbol "public: static
class std::codecvt const & __cdecl
boost::filesystem::path::codecvt(void)"
(?codecvt#path#filesystem#boost##SAABV?$codecvt#GDH#std##XZ)
referenced in function "public: __thiscall
boost::filesystem::path::path(char const (&)[14],void
*)" (??$?0$$BY0O#$$CBD#path#filesystem#boost##QAE#AAY0O#$$CBDPAX#Z)
So basically it can't find functions convert(...), code_convert(...) and codecvt(...) in .lib files.
I've already tried to add all release libraries (.lib files made while building boost) to "additional libraries" and generally i think that visual studio find all libraries, but can't find those functions in libraries. Any ideas how can i fix this?
I've build Boost 1.55 from source using visual studio 2010 (msvc10.0), 32 bit, release and debug. I'm working on windows 7 x64.
I had the same problem and I could fix it by changing one of the Project properties on VisualStudio 2010.
Go to:
Property Pages -> ConfigurationProperties -> C/C++ -> Language -> Treat WChar_t As Built in Type:
And set the property to:
Yes (/Zc:wchar_t)
I hope it will be helpful for you too :)
Take care,

unresolved symbols from boost filesystem

I am using boost 1_53 libraries with VS10.
I am getting many unresolved symbols during linking. like the following:
error LNK2019: unresolved external symbol "void __cdecl boost_1_53_0::filesystem::path_traits::convert(char const *,char const *,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > &,class std::codecvt<unsigned short,char,int> const &)" (?convert#path_traits#filesystem#boost_1_53_0##YAXPEBD0AEAV?$basic_string#GU?$char_traits#G#std##V?$allocator#G#2##std##AEBV?$codecvt#GDH#5##Z) referenced in function "void __cdecl boost_1_53_0::filesystem::path_traits::convert(char const *,class std::basic_string<unsigned short,struct std::char_traits<unsigned short>,class std::allocator<unsigned short> > &,class std::codecvt<unsigned short,char,int> const &)" (?convert#path_traits#filesystem#boost_1_53_0##YAXPEBDAEAV?$basic_string#GU?$char_traits#G#std##V?$allocator#G#2##std##AEBV?$codecvt#GDH#5##Z)
I checked /LIBPATH is set correctly also "boost_1_53_0_filesystem-mt.lib" is coming in link line.
i used dumpbin to find symbol in "lib" its coming like:
00000036 REL32 00000000 515 ?convert#path_traits#filesystem#boost_1_53_0##YAXPEBD0AEAV?$basic_string#_WU?$char_traits#_W#std##V?$allocator#_W#2##std##AEBV?$codecvt#_WDH#5##Z (void __cdecl boost_1_53_0::filesystem::path_traits::convert(char const *,char const *,class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > &,class std::codecvt<wchar_t,char,int> const &))
Is this parameter change causing issue?
EDIT:
I like to add more details:
Previously i was using boost 1_48 which was working fine.
I found that in boost 1_48 symbols under path_traits ends with #GDH#5##Z whicle in boost 1_53 its ending with #_WDH#5##Z
But still It trying to search synbol end with #GDH#5##Z
This can cause error?
If so why its taking that symbols?
Unless you've built every possible permutation of the Boost libraries, it is necessary to make sure that your compiler settings match the settings used to build Boost.
The relevant settings are:
debug vs. release
statically linked runtime vs. DLL
single-threaded vs. multi-threaded
The name boost_1_53_0_filesystem-mt.lib implies that the Boost libraries were built release mode, multi-threaded, DLL runtime.
Is that how you're building your project?
Right click on
->properties
->in general tab
check whether
Common Language Runtime support = "No Common Language Runtime support"
-> in c/C++ -> code generation
check whether
Runtime library Multi-threaded DLL (/MD)
finally in the menu bar go to
-> tools -> options -> project and solutions -> VC++ directories -> library files
check whether you have given the complete path where you boost librarus are usually
"\boost_1_53\stage\lib"
NOTE: the setting paths are mentioned for VS2008
You can check if you are not using 64 bit compiled boost libraries instead of 32 bit ones (and vice versa). It's what happened for me while using boost::filesystem.