#pragma once
#include <iostream>
#include <string>
#include <cstring>
#include <cstdio>
#include <cstdlib>
#ifdef __linux__
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <netdb.h>
#include <unistd.h>
#define WSACleanup()
#define closeConnection(fd) ::close(fd)
#elif _WIN32
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <winsock2.h>
#include <ws2tcpip.h>
#include <stdlib.h>
#include <stdio.h>
WORD versionWanted = MAKEWORD(1, 1);
WSADATA wsaData;
WSAStartup (versionWanted, &wsaData);
#define closeConnection(fd) closesocket(fd);
#endif
#include <openssl/ssl.h>
using namespace std;
...
компиляция с помощью этой команды:
x86_64-w64-mingw32-g++ main.cpp -I include -o main.exe -lssl -lcrypto -lws2_32 -static
Ошибка компиляции:
<b>error: expected constructor, destructor, or type conversion before ‘(’ token WSAStartup (versionWanted, &wsaData);</b>
Ведущий: Kubuntu 18.04 LTS
Q_1: почему он выдает мне эту ошибку?
Q_2: Должен ли я использовать комментарий ... для ссылок при использовании mingw64 (или только при использовании msv c)?