Я пытаюсь использовать libMcrypt в качестве статической библиотеки для Windows. Мой код уже использует порт DLL для него найден Вот.
Для проекта не существует vcproj / solution, поэтому я не знал, как его скомпилировать напрямую с помощью Visual Studio. (Я получал много ошибок, когда пытался создать и скомпилировать)
Тем не менее, я мог бы кросс-компиляции с использованием MingW и получить Windows DLL, которая работала нормально. Я нашел инструкцию Вот. Затем я скомпилировал статическую библиотеку для того же параметра —enable = static в качестве опции для настройки. Он успешно создал файлы .a и .la.
Но когда я пытаюсь использовать библиотеку компиляции, я получаю следующие ошибки компоновщика в моем проекте
libmcrypt.lib(loki97.o) : warning LNK4229: invalid directive '/aligncomm:_prm,5' encountered; ignored
libmcrypt.lib(loki97.o) : warning LNK4229: invalid directive '/aligncomm:_sb2,5' encountered; ignored
libmcrypt.lib(loki97.o) : warning LNK4229: invalid directive '/aligncomm:_sb1,5' encountered; ignored
LIBCMT.lib(invarg.obj) : error LNK2005: __invoke_watson already defined in MSVCRT.lib(MSVCR100.dll)
MSVCRT.lib(MSVCR100.dll) : error LNK2005: __strdup already defined in LIBCMT.lib(strdup.obj)
Creating library ..\..\..\bin\myProj.lib and object ..\..\..\bin\myProj.exp
LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library
libmcrypt.lib(blowfish-compat.o) : error LNK2001: unresolved external symbol ___chkstk_ms
myProj.exp : error LNK2001: unresolved external symbol arcfour_LTX__is_block_algorithm
myProj.exp : error LNK2001: unresolved external symbol arcfour_LTX__mcrypt_algorithm_version
myProj.exp : error LNK2001: unresolved external symbol arcfour_LTX__mcrypt_decrypt
myProj.exp : error LNK2001: unresolved external symbol arcfour_LTX__mcrypt_encrypt
myProj.exp : error LNK2001: unresolved external symbol arcfour_LTX__mcrypt_get_algo_iv_size
myProj.exp : error LNK2001: unresolved external symbol arcfour_LTX__mcrypt_get_algorithms_name
myProj.exp : error LNK2001: unresolved external symbol arcfour_LTX__mcrypt_get_block_size
Большое спасибо за вашу помощь!
Задача ещё не решена.
Других решений пока нет …