Hello, I am trying to compile beecrypt with express version of ms compiler. I have managed to compile C only part of the library without problems. However when trying to compile C++ part I get few issues which I have solved. There is only one annoyance left in String class:
for some reason linker can't find caseCompare in UnicodeString:
1> Creating library Debug\beecryptd++.lib and object Debug\beecryptd++.exp
1>String.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: char __thiscall icu_4_0::UnicodeString::caseCompare(class icu_4_0::UnicodeString const &,unsigned int)const " (__imp_?caseCompare@UnicodeString@icu_4_0@@QBEDABV12@I@Z) referenced in function "public: int __thiscall beecrypt::lang::String::compareToIgnoreCase(class beecrypt::lang::String const &)const " (?compareToIgnoreCase@String@lang@beecrypt@@QBEHABV123@@Z)
1>Debug\beecryptd++.dll : fatal error LNK1120: 1 unresolved externals
I do have all icu libraries in my path and listed in dependencies. All other functions that use icu seems to link fine, so I am a bit puzzled here. Does anyone have a clue what might be wrong here?
When code in String::compareToIgnoreCase is commented out everything compiles fine; so it seems to be problem of linker not finding that function in UnicodeString; I think.
Thanks in advance
After some testing, I see that I am getting same error when trying to call any of UnicodeString's inline methods. I have tried to disable inlining (which anyway shouldn't be enabled in debug build), yet I still get this error :-(.
Log in to post a comment.