Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

Beecrypt with VS 2008 Express

Help
johnny
2009-12-21
2013-04-23
  • johnny
    johnny
    2009-12-21

    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

     
  • johnny
    johnny
    2009-12-21

    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 :-(.