Member 13536260 Ответов: 1

Почему мое приложение запрашивает libcurl.dll и еще libssh2.dll-что?


Здравствуйте, я надеюсь, что получу ответы здесь, так как эта проблема не дает мне покоя со вчерашнего дня. Я создал небольшой код, используя curl, скачал библиотеку и поместил ее в каталог mingw "lib" (libcurl.a и libcurldll.a), а затем скомпилировал свой код с помощью этой опции
gcc MyCode.c -DCURL_STATICLIB -lcurldll
(Я использовал -lcurldll, потому что у меня есть ошибки на-lcurl) так что теперь у меня есть приложение, скомпилированное. Сначала он попросил: libcurl.dll (я нашел его и скормил в приложение), а затем он снова попросил libshh2.dll (который я до сих пор не нашел и с трудом его компилирую).

Когда я смотрю на какой-то учебник, эти dll, кажется, не нужны, что происходит с моими?

Что я уже пробовал:

Я попытался скомпилировать libshh2 из исходного кода, но со вчерашнего дня ничего не вышло

1 Ответов

Рейтинг:
0

Richard MacCutchan

Ваше заявление о том, что -DCURL_STATICLIB это означает, что вы будете использовать статическую библиотеку, но затем попытаетесь связать ее с dll. Если вы используете это объявление, то вам нужно указать -lcurl нет -lcurldll.


Member 13536260

Спасибо, мне это действительно нужно, но когда я использую-lcurl, я получаю ошибку

undefined reference to _imp_WSAStartup@08
undefined reference to _imp_WSACleanup@00
undefined reference to _imp_WSACleanup@00
*** libcurl.a(easy.o): bad reloc address in section ".data"
collect2.exe: error: id returned 1 exit status 


Но не в-lcurldll

Richard MacCutchan

Вам не хватает библиотеки (возможно, библиотеки сокетов), содержащей ссылочные функции. Проверьте документацию по этим функциям, чтобы узнать, какая библиотека вам нужна.

Member 13536260

Боже, я просто знал, что разговариваю с одним из лучших экспертов здесь, в codeProject. Спасибо за помощь

Richard MacCutchan

Вам не нужно быть экспертом, чтобы прочитать документацию.