Help save net neutrality! Learn more.

linking error VC++ 6

  • James

    James - 2010-06-08


    I am running VC++ 6, with the latest service pack. I compiled cyassl.lib on it, with 3 warnings:

    src\cyassl_int.c(3182) : warning C4018: '!=' : signed/unsigned mismatch
    src\cyassl_int.c(3883) : warning C4018: '==' : signed/unsigned mismatch
    cyassl_int.c(1936) : warning C4761: integral size mismatch in argument; conversion supplied

    Also, when I try to link the library and use the functions in my project, I get:

    cyassl.lib(ssl.obj) : error LNK2001: unresolved external symbol _Base16Decode

    Suffice to say, all the sample projects crash with the same error upon compilation.
    Also, using VS2008 will bypass the problem. But I need to have my project in VC++, and I cannot use the library if compiled from another compiler.

    Looking forward to a response.

    Best Regards

  • Todd Ouska

    Todd Ouska - 2010-06-08

    I guess we need to remove support for MSVC6 since it's not being tested or supported anymore.

    The linker error is because cyassl.lib is being built with OPENSSL_EXTRA defined and ctaocrypt.lib is being built without it defined.  Adding OPENSSL_EXTRA as a preprocessor define for ctaocrypt should fix the problem.  You could also try removing OPENSSL_EXTRA from cyassl.

    Just curious, what does a nearly 13 year old compiler have that the newer ones don't?

  • James

    James - 2010-06-08

    I bow to you. You really made my day.

    As for the reason, this nearly 13 year old compiler uses a nearly 13 year old DLL which makes all of my software run under 98/2k/XP and later without installing the Redistributable Package & fully update the computer in order for it to run. It's just that plug-and-play.

    Thank you so much, greatly appreciated.
    Best Regards.


Log in to post a comment.