visual studios 2008 library issues
I am using a third party static library that i built (release ver). Now, I was building my own static library (just added some functions specific to what I wanted to do along with that third party static library). My library built just fine release version. However, now I was going to share this library with an external party (its a free static lib that i am using so licensing is not an issue) when i created a test application in vs2008 i then just created a compositelib.lib that i used via lib.exe to get my static lib + the third party lib. however doing this it seems I am getting lots of lnk2001. when i try to manually add some objs that i think are missing it says they are already part of my static lib which I created. so when i take those obj's out then its shows up with lnk2001 unresolved links. not sure what else to do here.
so it seems that when I am just using my static lib in the test application that i will share with third party to show as an example for how to use my static lib...it says the following:
lnk2005 already defined mystaticlib(test.obj). and it is o开发者_开发知识库verwhelmingly just this test.obj that is reported for all cases of lnk2005.
Error 11 error LNK2005: "public: class std::basic_string,class std::allocator > & __thiscall std::basic_string,class std::allocator >::operator=(class std::basic_string,class std::allocator > const &)" (??4?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV01@ABV01@@Z) already defined in mylib.lib(cryptlib.obj) msvcprt.lib TestApp
ok in this case the answer was that i was messing up the settings in vs2008. please make sure that when creating static library under code generation its multithreaded /mt. just have to make sure that /mt setting is used all the way through.
精彩评论