We are porting our existing MC++ library from VS 2003 to VS 2005. The library
is using Tibco, and somehow VS 2005 during compilation gives linker error.
there is no change in project settings. The following are the error msg
Error 1 error LNK2028: unresolved token (0A00002B) "public: class
TibrvStatus __thiscall TibrvMsg::convertToString(char * &)"
(?convertToString@TibrvMsg@@$$FQAE?AVTibrvStatus@@AAPAD@Z) referenced in
function "public: static class System::String ^ __clrcall
JPM::EDG::Messaging::RV::RvUtil::TibrvMsgToString(class TibrvMsg *)"
(?TibrvMsgToString@RvUtil@RV@Messaging@EDG@JPM@@$$FSMP$AAVString@System@@PAVTibrvMsg@@@Z) RvUtil.obj
Error 2 error LNK2028: unresolved token (0A000026) "public: class
TibrvStatus __thiscall TibrvMsg::convertToString(char * &)"
(?convertToString@TibrvMsg@@$$FQAE?AVTibrvStatus@@AAPAD@Z) referenced in
function "public: static class System::String ^ __clrcall
JPM::EDG::Messaging::RV::RvEdgMessage::TibrvMsgToString(class TibrvMsg *)"
(?TibrvMsgToString@RvEdgMessage@RV@Messaging@EDG@JPM@@$$FSMP$AAVString@System@@PAVTibrvMsg@@@Z) RvEdgMessage.obj
Some Additional info.
we did a dumpbin of tibco library and the mangled function name we noticed is
?convertToString@TibrvMsg@@QAE?AVTibrvStatus@@AAPBD@Z
whereas the linker is looking for
?convertToString@TibrvMsg@@$$FQAE?AVTibrvStatus@@AAPAD@Z
the only difference between two function is addition of letter F... can
someone shed light
on this .. Thx for your help
> We are porting our existing MC++ library from VS 2003 to VS 2005. The library
> is using Tibco, and somehow VS 2005 during compilation gives linker error.
[quoted text clipped - 13 lines]
> JPM::EDG::Messaging::RV::RvEdgMessage::TibrvMsgToString(class TibrvMsg *)"
> (?TibrvMsgToString@RvEdgMessage@RV@Messaging@EDG@JPM@@$$FSMP$AAVString@System@@PAVTibrvMsg@@@Z) RvEdgMessage.obj
Yogesh S - 30 Nov 2005 20:36 GMT
Some more additional info.
In VS 2003 the MC++ project was configured to
Runtime Library : Multi-Threaded - /MT switch
CLR Support - /clr:oldsyntax switch
however, when we compile the same project in VS 2005 we get the following
error
/MT and /clr:oldsyntax incompatible..
then we changed the runtime library to : /MD switch and linker started
giving below error msg.
this is surely a compatibility problem.
> Some Additional info.
>
[quoted text clipped - 25 lines]
> > JPM::EDG::Messaging::RV::RvEdgMessage::TibrvMsgToString(class TibrvMsg *)"
> > (?TibrvMsgToString@RvEdgMessage@RV@Messaging@EDG@JPM@@$$FSMP$AAVString@System@@PAVTibrvMsg@@@Z) RvEdgMessage.obj
David Lowndes - 01 Dec 2005 00:07 GMT
>we did a dumpbin of tibco library and the mangled function name we noticed is
>
[quoted text clipped - 5 lines]
>someone shed light
>on this .. Thx for your help
Is it perhaps due to the /Zc option that makes wchar_t a native type
by default with VS2005?
Dave