Мне нужна помощь для проекта.
Мне нужно создать DLL с помощью easy_curl, мне нужно использовать данные из веб-сайта для другого кода.
Вот код DLL
#include "stdafx.h"
#include "Header_DLL-SIGFOX.h"
#include <iostream>
#include <curl/curl.h>
#include <stdio.h>
#include <cstdio>
#include <fstream>
using namespace std;
namespace nmspace {
size_t writeToString(void *ptr, size_t size, size_t count, void *stream)
{
((string*)stream)->append((char*)ptr, 0, size* count);
return size * count;
}
string myclass::recup(string log, string mdp, string id) {
string usrpwd = log + ":" + mdp;
string link = "https://" + id + "/messages";
std::string data;
CURL *curl;
CURLcode res;
curl = curl_easy_init();
if (curl) {
curl_easy_setopt(curl, CURLOPT_URL, link.c_str());
curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_easy_setopt(curl, CURLOPT_USERPWD, usrpwd.c_str());
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, writeToString);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &data);
res = curl_easy_perform(curl);
if (res != CURLE_OK) {
fprintf(stderr, "curl_easy_perform() failed: %s\n", curl_easy_strerror(res));
}
curl_easy_cleanup(curl);
}
return data;
}
}
вот код, который мне нужен для использования DLL в
#include "stdafx.h"
#include "Header_DLL-SIGFOX.h"
#include <iostream>
#include <fstream>
using namespace std;
using namespace nmspace;
int main(){
string var;
var = myclass::recup("53", "8b", "C");
getchar();
return 0;
}
и вот заголовок
namespace nmspace{
class myclass {
public: static __declspec(dllexport) std::string recup(std::string loginSig, std::string mdpSig, std::string idSig);
public: static __declspec(dllexport) void recup2();
};
и когда я использую это, получил и ошибка:
Erreur LNK2019 symbole externe non résolu "public: static int __cdecl nmspace::myclass::recup(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (?recup@myclass@nmspace@@SAHV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@000@Z) référencé dans la fonction _main Test_DLL-SIGFOX C:\Users\weved\source\repos\Test_DLL-SIGFOX\Test_DLL-SIGFOX\Test_DLL-SIGFOX.obj 1
«symbole externe non résolu» означает: неразрешенный внешний символ
код работает, если я не использую return и печатаю переменную "data", но когда я пытаюсь вернуть данные, ничего не работает :(
если кто-то сможет мне помочь, было бы здорово :) 1023 *
С наилучшими пожеланиями