Включить Curl в проект MFC

Я довольно новый с curl. Мне нужно использовать curl в C ++ с поддержкой ssl.
Я скомпилировал OpenSSL с помощью nmake, а затем скомпилировал libcurl как статическую библиотеку с поддержкой SLL через проект VS10. Компиляция сработала, и я попытался создать небольшой пример консольного приложения: это работает!

Но когда я пытаюсь создать проект MFC со следующими конкретными свойствами:
MFC как диалоговое окно, без юникода и с использованием MFC в статической библиотеке.
Это не работает, и я получил следующие неразрешенные ошибки символов:

libcurl.lib(mprintf.obj) : error LNK2001: symbole externe non résolu __imp__fputc
1>libcurl.lib(tftp.obj) : error LNK2001: symbole externe non résolu __imp__memchr
1>libcurl.lib(http.obj) : error LNK2001: symbole externe non résolu __imp__memchr
1>libcurl.lib(userauth.obj) : error LNK2001: symbole externe non résolu __imp__memchr
1>libcurl.lib(file.obj) : error LNK2001: symbole externe non résolu __imp___fstat64
1>libcurl.lib(formdata.obj) : error LNK2001: symbole externe non résolu __imp___stat64
1>libcurl.lib(session.obj) : error LNK2001: symbole externe non résolu __imp___difftime64
1>libcurl.lib(kex.obj) : error LNK2001: symbole externe non résolu __imp___snprintf
1>libcurl.lib(knownhost.obj) : error LNK2001: symbole externe non résolu __imp___snprintf
1>libcurl.lib(scp.obj) : error LNK2001: symbole externe non résolu __imp___snprintf
1>libcurl.lib(misc.obj) : error LNK2001: symbole externe non résolu __imp___snprintf
1>libcurl.lib(transport.obj) : error LNK2001: symbole externe non résolu _imp___snprintf
1>libcurl.lib(channel.obj) : error LNK2001: symbole externe non résolu __imp___wassert
1>libcurl.lib(sftp.obj) : error LNK2001: symbole externe non résolu __imp___wassert
1>libcurl.lib(transport.obj) : error LNK2001: symbole externe non résolu __imp___wassert
1>libcurl.lib(userauth.obj) : error LNK2001: symbole externe non résolu __imp__rewind
1>libcurl.lib(misc.obj) : error LNK2001: symbole externe non résolu __imp__vsnprintf

Заранее спасибо.

0

Решение

Проверь это: http://theetrain.ca/tech/?p=151

Вы, вероятно, забыли добавить дополнительные зависимости для библиотеки curl

0

Другие решения

По умолчанию curl компилируется с /MD (DLL) библиотека времени выполнения (вот почему вы получаете __imp__ Приставка к неразрешенным внешним связям).

Я предполагаю, что вы строите свой проект MFC с /MT (статически связанное время выполнения).

Вы можете создать curl со статическим временем выполнения, установив RTLIBCFG переменная окружения в консоли сборки для static, как это:

set RTLIBCFG=static

Или просто добавьте вручную /MT на флаги компилятора и /NODEFAULTLIB:MSVCRT.lib на флаги ссылки в make-файлах, если первое предложение не работает.

0

По вопросам рекламы [email protected]