Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Сети > curl и VS2005


Автор: feanor59 24.1.2008, 11:30
суть проблемы.
Решил обновить curl до 7.17.1, но что-то пошло не такsmile
1. при компиляции, не собирается динамическая библиотека (.dll), только статическая (.lib) (нет никаких ошибок, как будто так и должно быть)
2. возможно вытекает из 1. Суть в том, что невозможно вызвать ни одну из функций curl. Т. е. либа подключается не правильно, либо (что более вероятно) не хватает .dll.

мб кто-то сталкивался с подобным. Порыскав по нету, обнаружил, что многие меняли конфиги студии для того чтобы заработал curl даже ранних версий, но, к сожалению, подробностей конфигурирования не было. Так что даже если с моей траблой не встречались, но дополнительно конфигурировали студию/проект, опишите подробнее.

Автор: SABROG 24.1.2008, 12:23
В солюшене (.sln) можно поменять тип билда с lib на dll, но это все-равно слабо помогает

Код

   Creating library .\Release\curllib.lib and object .\Release\curllib.exp
timeval.obj : error LNK2019: unresolved external symbol __imp__timeGetTime@0 referenced in function _gettimeofday
connect.obj : error LNK2001: unresolved external symbol __imp__closesocket@4
multi.obj : error LNK2001: unresolved external symbol __imp__closesocket@4
hostthre.obj : error LNK2001: unresolved external symbol __imp__closesocket@4
http.obj : error LNK2019: unresolved external symbol __imp__closesocket@4 referenced in function _Curl_proxyCONNECT
ftp.obj : error LNK2001: unresolved external symbol __imp__closesocket@4
url.obj : error LNK2001: unresolved external symbol __imp__closesocket@4
transfer.obj : error LNK2001: unresolved external symbol __imp__closesocket@4
connect.obj : error LNK2019: unresolved external symbol __imp__WSAGetLastError@0 referenced in function _bindlocal
hostthre.obj : error LNK2001: unresolved external symbol __imp__WSAGetLastError@0
select.obj : error LNK2001: unresolved external symbol __imp__WSAGetLastError@0
tftp.obj : error LNK2001: unresolved external symbol __imp__WSAGetLastError@0
sendf.obj : error LNK2001: unresolved external symbol __imp__WSAGetLastError@0
ftp.obj : error LNK2001: unresolved external symbol __imp__WSAGetLastError@0
telnet.obj : error LNK2001: unresolved external symbol __imp__WSAGetLastError@0
transfer.obj : error LNK2001: unresolved external symbol __imp__WSAGetLastError@0
sendf.obj : error LNK2019: unresolved external symbol __imp__recv@16 referenced in function _Curl_read
getinfo.obj : error LNK2001: unresolved external symbol __imp__recv@16
sendf.obj : error LNK2019: unresolved external symbol __imp__send@16 referenced in function _Curl_plain_send
telnet.obj : error LNK2001: unresolved external symbol __imp__send@16
ftp.obj : error LNK2019: unresolved external symbol __imp__accept@12 referenced in function _AllowServerConnect
ftp.obj : error LNK2019: unresolved external symbol __imp__getsockname@12 referenced in function _AllowServerConnect
connect.obj : error LNK2001: unresolved external symbol __imp__getsockname@12
ftp.obj : error LNK2019: unresolved external symbol __imp__listen@8 referenced in function _ftp_state_use_port
ftp.obj : error LNK2019: unresolved external symbol __imp__ntohs@4 referenced in function _ftp_state_use_port
connect.obj : error LNK2001: unresolved external symbol __imp__ntohs@4
socks.obj : error LNK2001: unresolved external symbol __imp__ntohs@4
ftp.obj : error LNK2019: unresolved external symbol __imp__bind@12 referenced in function _ftp_state_use_port
connect.obj : error LNK2001: unresolved external symbol __imp__bind@12
tftp.obj : error LNK2001: unresolved external symbol __imp__bind@12
ftp.obj : error LNK2019: unresolved external symbol __imp__socket@12 referenced in function _ftp_state_use_port
connect.obj : error LNK2001: unresolved external symbol __imp__socket@12
hostthre.obj : error LNK2001: unresolved external symbol __imp__socket@12
ftp.obj : error LNK2019: unresolved external symbol __imp__inet_addr@4 referenced in function _ftp_state_use_port
connect.obj : error LNK2001: unresolved external symbol __imp__inet_addr@4
hostthre.obj : error LNK2001: unresolved external symbol __imp__inet_addr@4
ldap.obj : error LNK2019: unresolved external symbol __imp__ldap_unbind_s referenced in function _Curl_ldap
ldap.obj : error LNK2019: unresolved external symbol __imp__ldap_msgfree referenced in function _Curl_ldap
ldap.obj : error LNK2019: unresolved external symbol __imp__ldap_next_entry referenced in function _Curl_ldap
ldap.obj : error LNK2019: unresolved external symbol __imp__ber_free referenced in function _Curl_ldap
ldap.obj : error LNK2019: unresolved external symbol __imp__ldap_next_attribute referenced in function _Curl_ldap
ldap.obj : error LNK2019: unresolved external symbol __imp__ldap_memfree referenced in function _Curl_ldap
ldap.obj : error LNK2019: unresolved external symbol __imp__ldap_value_free_len referenced in function _Curl_ldap
ldap.obj : error LNK2019: unresolved external symbol __imp__ldap_get_values_len referenced in function _Curl_ldap
ldap.obj : error LNK2019: unresolved external symbol __imp__ldap_first_attribute referenced in function _Curl_ldap
ldap.obj : error LNK2019: unresolved external symbol __imp__ldap_get_dn referenced in function _Curl_ldap
ldap.obj : error LNK2019: unresolved external symbol __imp__ldap_first_entry referenced in function _Curl_ldap
ldap.obj : error LNK2019: unresolved external symbol __imp__ldap_search_s referenced in function _Curl_ldap
ldap.obj : error LNK2019: unresolved external symbol __imp__ldap_simple_bind_s referenced in function _Curl_ldap
ldap.obj : error LNK2019: unresolved external symbol __imp__ldap_init referenced in function _Curl_ldap
ldap.obj : error LNK2019: unresolved external symbol __imp__ldap_set_option referenced in function _Curl_ldap
ldap.obj : error LNK2019: unresolved external symbol __imp__ldap_err2string referenced in function _Curl_ldap
telnet.obj : error LNK2019: unresolved external symbol __imp__WSACleanup@0 referenced in function _check_wsock2
easy.obj : error LNK2001: unresolved external symbol __imp__WSACleanup@0
telnet.obj : error LNK2019: unresolved external symbol __imp__WSAStartup@8 referenced in function _check_wsock2
easy.obj : error LNK2001: unresolved external symbol __imp__WSAStartup@8
connect.obj : error LNK2019: unresolved external symbol __imp__ioctlsocket@12 referenced in function _Curl_nonblock
connect.obj : error LNK2019: unresolved external symbol __imp__htons@4 referenced in function _bindlocal
hostip4.obj : error LNK2001: unresolved external symbol __imp__htons@4
socks.obj : error LNK2001: unresolved external symbol __imp__htons@4
connect.obj : error LNK2019: unresolved external symbol __imp__getsockopt@20 referenced in function _verifyconnect
connect.obj : error LNK2019: unresolved external symbol __imp__setsockopt@20 referenced in function _tcpnodelay
connect.obj : error LNK2019: unresolved external symbol __imp__getprotobyname@4 referenced in function _tcpnodelay
connect.obj : error LNK2019: unresolved external symbol __imp__connect@12 referenced in function _singleipconnect
hostthre.obj : error LNK2019: unresolved external symbol __imp__gethostbyname@4 referenced in function _gethostbyname_thread@4
hostthre.obj : error LNK2019: unresolved external symbol __imp__WSASetLastError@4 referenced in function _gethostbyname_thread@4
select.obj : error LNK2001: unresolved external symbol __imp__WSASetLastError@4
inet_ntop.obj : error LNK2019: unresolved external symbol __imp__inet_ntoa@4 referenced in function _inet_ntop4
select.obj : error LNK2019: unresolved external symbol ___WSAFDIsSet@8 referenced in function _Curl_socket_ready
select.obj : error LNK2019: unresolved external symbol __imp__select@20 referenced in function _Curl_socket_ready
tftp.obj : error LNK2019: unresolved external symbol __imp__sendto@24 referenced in function _tftp_rx
tftp.obj : error LNK2019: unresolved external symbol __imp__recvfrom@24 referenced in function _Curl_tftp
.\Release\curllib.dll : fatal error LNK1120: 43 unresolved externals

Автор: feanor59 24.1.2008, 12:26
Цитата(SABROG @ 24.1.2008,  12:23)
В солюшене (.sln) можно поменять тип билда с lib на dll, но это все-равно слабо помогает

не, от этого толку нет вообще...((

Автор: SABROG 24.1.2008, 12:35
Всё, разобрался. Запускаешь command prompt студии, ходишь в корневую директорию curla и вводишь:

Код

nmake vc-dll


Всё. Соберется либа, без ZLIB'a и без SSL'a, для них ключь vc-dll-ssl-dll-zlib-dll, еще пути придется редактировать.

Автор: feanor59 24.1.2008, 12:55
Цитата(SABROG @ 24.1.2008,  12:35)
Всё, разобрался. Запускаешь command prompt студии, ходишь в корневую директорию curla и вводишь:

Код

nmake vc-dll


Всё. Соберется либа, без ZLIB'a и без SSL'a, для них ключь vc-dll-ssl-dll-zlib-dll, еще пути придется редактировать.

большое спасибо. вот только проблема оказалась намного прозаичнее) заключалась она в ошибке конвертирования проекта под стандарт 8й студии) повторное конвертирование позволило сгенерить как статическую, там и динамическую библиотеку.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)