Windows.h дает ошибку при подключении

110
11 июля 2021, 06:20

нет ошибки:

#include "pch.h"
//#include <windows.h>
#include <iostream>
#include <SFML/Graphics.hpp>
using namespace sf;
using namespace std;
int main()
{
sf::RenderWindow window(sf::VideoMode(640, 480), "Lesson");
    return 0;
}

есть ошибка:

#include "pch.h"
#include <windows.h>
#include <iostream>
#include <SFML/Graphics.hpp>
using namespace sf;
using namespace std;
int main()
{
sf::RenderWindow window(sf::VideoMode(640, 480), "Lesson");
    return 0;
}

Ошибка C2589 (: недопустимая лексема справа от "::" q2222 c:\libs\sfml-2.5.1\x86\include\sfml\graphics\rect.inl

Почему то windows.h и sfml не хотят в паре работать.Хотя по отдельности пашут.Почему?

Answer 1

Типичный пример конфликта имен, вызванный макросами min и max из <windows.h>.

Либо включайте <windows.h> после остальных заголовков, либо (лучше) глобально определите макро NOMINMAX в настройках проекта, либо сделайте

#undef min
#undef max

сразу после включения <windows.h>.

READ ALSO
Почему json приходит не весь?

Почему json приходит не весь?

Отправляю в ответ на запрос json

106
&ldquo;Вручную&rdquo; расшифровать ответ от сайта формата &ldquo;Content-Encoding: br&rdquo;

“Вручную” расшифровать ответ от сайта формата “Content-Encoding: br”

Как это сделать? Запросы отправлячются через TcpClientПоэтому тело ответа походу декодировать самому нужно

99
Получение данных с com-порта

Получение данных с com-порта

Работаю с com-портомВходящие данные на com-порт получаю так:

93
Как с помощью C# очистить корзину?

Как с помощью C# очистить корзину?

Как с помощью C# очистить корзину?

85