válidos válido tiene ruta raíz leer elemento documento caracteres acceso c visual-studio curl unresolved-external

válido - Símbolos no resueltos al vincular un programa usando libcurl



xml document load (6)

Además de definir CURL_STATICLIB , para mí también era necesario vincular las siguientes dependencias (incluidas libcurl.lib o libcurld.lib ):

  • Ws2_32.lib
  • Wldap32.lib

Sé que esto es preguntas de programación, pero estoy frustrado tratando de descubrir lo que estoy haciendo mal ...

Estoy usando Visual Studio 2010 y seguí todos los pasos aquí: http://curl.haxx.se/libcurl/c/visual_studio.pdf

Cuando intento compilar mi solución sigo recibiendo este error:

1>------ Build started: Project: LibCurl, Configuration: Debug Win32 ------ 1>LibCurl.obj : error LNK2019: unresolved external symbol __imp__curl_easy_cleanup referenced in function _main 1>LibCurl.obj : error LNK2019: unresolved external symbol __imp__curl_easy_perform referenced in function _main 1>LibCurl.obj : error LNK2019: unresolved external symbol __imp__curl_easy_setopt referenced in function _main 1>LibCurl.obj : error LNK2019: unresolved external symbol __imp__curl_easy_init referenced in function _main 1>C:/Users/Kyle/Documents/Visual Studio 2010/libcurl/VisualStudio/LibCurl/Debug/LibCurl.exe : fatal error LNK1120: 4 unresolved externals ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Fuente:

// LibCurl.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <stdio.h> #include <curl/curl.h> int main(void) { CURL *curl; CURLcode res; curl = curl_easy_init(); if(curl) { curl_easy_setopt(curl, CURLOPT_URL, "http://google.com"); res = curl_easy_perform(curl); /* always cleanup */ curl_easy_cleanup(curl); } return 0; }


Después de muchas ideas y configuraciones, resolví el problema añadiendo esto:

#pragma comment(lib, "lib/libcurl_a.lib")

donde libcurl_a.lib es el nombre del archivo curl lib y lib es la carpeta que lo contiene.


He estado usando la versión estática de libcurl, y para vincular mi programa correctamente, tuve que agregar definición:

CURL_STATICLIB

para construir la configuración de mi proyecto.


Me encontré con un problema similar: descubrí que estaba haciendo referencia a la ubicación de 64 bits de libcurl.lib. Cambió el directorio de enlaces a la ubicación de 32 bits y el proyecto se compiló perfectamente.


Parece que las bibliotecas no están siendo conectadas con éxito. Asegúrese de que el directorio de la biblioteca esté configurado para incluir la ruta completa a libcurl dll. También asegúrese de que esta biblioteca se haya agregado realmente a su proyecto.