Postato originariamente da Thejuster:Scusami Juster, ma come dicevo e la prima volta che lo faccio.
Dunque la libreria curl non è già compilata. l'ho compilata seguendo questo tutorial.
youtube.com/…Ma siccome sto mettendo mani su un progetto molto grande, deve essere compatibile per linux.
perché in seguito questo programma deve essere compilato ed avviato su linux debian.
Si tratta di un server.
Dunque quello che fatto è:
Compilare la dll con visual studio tool.
Una volta compilato tutto, appaiono delle cartelle in builds.
quindi copio l'intera cartella includes e la porto nel progetto dove deve essere inclusa.
in più copio il file libcurl_a.lib e lo nella stessa cartella dove ho messo i file da includere.
successivamente modifico le proprietà del progetto, al linker.
Linker -> Input -> Addittional Dependency
ed aggiungo la variabile
$(SolutionDir)3rdpary\curl\libcurl_a.lib
in seguito
ACMD_FUNC(discord)
{
nullpo_retr(-1, sd);
curl_global_init(CURL_GLOBAL_ALL);
CURL *curl = nullptr;
Severity Code Description Project File Line Suppression State
Error LNK2019 unresolved external symbol _curl_global_init referenced in function "int __cdecl atcommand_discord(int,struct map_session_data *,char const *,char const *)" (?atcommand_discord@@YAHHPAUmap_session_data@@PBD1@Z) map-server C:\rathena\src\map\atcommand.obj 1
Error LNK1120 1 unresolved externals map-server C:\rathena\map-server.exe 1
quello è un errore del linker e significa che la libreria non è linkata. Più di questo non posso dirti, io per non avere di questi problemi uso cmake e ti consiglio di fare altrettanto. Inoltre cmake può cercare e includere curl, vedi comando find().