On Sat, Dec 11, 2010 at 6:04 PM, Luis Lavena <[email protected]> wrote:
>>
>>> Above is a common problem of usage of __declspec(dllexport) versus
>>> __declspec(dllimport).
>>
>> Or linking with the wrong type of library. I've done a fair bit of
>> research on DLLs in Windows for libusb, in order to build
>> interchangeable (MinGW and MS) DLLs and static libraries. I believe
>> I've figured out the minimum that is neccessary, and declspec is not
>> enough.
>>
>
> Can you provide a link to your work? I would love take a look and see
> what needs to be changed in libssh2
>

I've managed to get all the examples build against the static library
changing LIBSSH2_API definition:

 /* Allow alternate API prefix from CFLAGS or calling app */
 #ifndef LIBSSH2_API
 # ifdef LIBSSH2_WIN32
 #  ifdef LIBSSH2_LIBRARY
-#   define LIBSSH2_API __declspec(dllexport)
+#   define LIBSSH2_API extern
 #  else
-#   define LIBSSH2_API __declspec(dllimport)
+#   define LIBSSH2_API extern
 #  endif /* LIBSSH2_LIBRARY */
 # else /* !LIBSSH2_WIN32 */
 #  define LIBSSH2_API

Tomorrow will investigate how to differentiate when linking against
the static library or the shared library.

Cheers,
-- 
Luis Lavena
AREA 17
-
Perfection in design is achieved not when there is nothing more to add,
but rather when there is nothing more to take away.
Antoine de Saint-Exupéry
_______________________________________________
libssh2-devel http://cool.haxx.se/cgi-bin/mailman/listinfo/libssh2-devel

Reply via email to