0

Пытаюсь выгрузить файл программой c++ на сервер. Искал примеры но компилятор пишет

C:\Users\dmitr.000\AppData\Local\Temp\ccDyEjOK.o    Безымянный1.cpp:(.text+0xfb): undefined reference to `__imp_InternetOpenA'

`C:\Users\dmitr.000\AppData\Local\Temp\ccDyEjOK.o   Безымянный1.cpp:(.text+0x1c0): undefined reference to `__imp_FtpPutFileA`'
....

И тд. Как мне это исправить? Компилирую в dev с++ (Я начинающий в c++)

#include <windows.h>
#include <wininet.h> 
#include <iostream>
#include <string>
#include <fstream>

#pragma comment (lib,"wininet.lib")

using namespace std;

int main()
{
    string file = "C:\\path.txt";
    string site = "freedomcraft.ddns.net";
    string user = "default";
    string pass = "default";


    HINTERNET hint = InternetOpen(0, INTERNET_OPEN_TYPE_PRECONFIG, 0, 0, 0);
    HINTERNET hftp = InternetConnect(hint, site.c_str(), INTERNET_DEFAULT_FTP_PORT,
        user.c_str(), pass.c_str(), INTERNET_SERVICE_FTP, 0, 0);

    if (FtpSetCurrentDirectory(hftp, "public_html"))
    {
        if (!FtpPutFile(hftp, file.c_str(), "log.txt", FTP_TRANSFER_TYPE_BINARY, 0))
        {
            cout << "FAIL!" << endl;
            cout << GetLastError() << endl;
        }
        else
        {
            cout << "file sended !";
        }
    }
    InternetCloseHandle(hftp);
    InternetCloseHandle(hint);
    return 0;
}
  • судя по всему вы забыли прилинковать библиотеку Wininet.lib, я не шарю в дев с++, но вам надо добавить Wininet.lib в зависимости проекта – goldstar_labs Apr 23 '20 at 10:05
  • протупил и забыл код прикрепить :с. да нет библиотека тут – Dmitry Ryj Apr 23 '20 at 10:09
  • поставлю на то, что компилятор дев ц++ игнорирует #pragma comment (lib,"wininet.lib"), т.к. это фишка msvc компилятора. В настройках проекта попробуйте добавить либу. на msvc у меня код собирается без проблем – goldstar_labs Apr 23 '20 at 10:14

0 Answers0