Compiling the osiris #816

Сообщение об ошибке:

#include "stdafx.h"#ifndef TWITCH_ENGINE
#define TWITCH_ENGINE#include "GLFW\glfw3.h"#pragma comment (lib, "opengl32.lib")
#include<iostream>
using namespace std;

class Engine {
public:
static int SCREEN_WIDTH;
static int SCREEN_HEIGHT;

Engine();
~Engine();

bool Initialize(char* windowTitle);

void Update();
void Render();

private:
static GLFWwindow* window;
};

#endif

и в Twitch.cpp:

#include "Engine.h"
int Engine::SCREEN_WIDTH = 1024;
int Engine::SCREEN_HEIGHT = 768;
GLFWwindow* Engine::window = NULL;

Engine::Engine() {

}

Engine::~Engine() {

}

bool Engine::Initialize(char* windowTitle) {
if (!glfwInit()) {
cout << "Error initalizing GLFW" << endl;
return false;
}

window = glfwCreateWindow(SCREEN_WIDTH, SCREEN_HEIGHT, windowTitle, NULL, NULL);
if (window == NULL) {
cout << "Error creating window" << endl;
return false;
}

//OpenGL Setup
glfwMakeContextCurrent(window);
int width, height;
glfwGetFramebufferSize(window, &width, &height);
glfwSwapInterval(1);

const GLFWvidmode* mode = glfwGetVideoMode(glfwGetPrimaryMonitor());
int xPos = (mode->width - SCREEN_WIDTH) / 2;
int yPos = (mode->height - SCREEN_HEIGHT) / 2;

glfwSetWindowPos(window, xPos, yPos);

//GL setup
//Viewport
glViewport(0, 0, width, height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(0, width, 0, height, -10, 10);
glDepthRange(-10, 10);
glMatrixMode(GL_MODELVIEW);

//Alpha Blending
glEnable(GL_ALPHA_TEST);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);

return true;
}

void Engine::Update() {
glfwPollEvents();

}

void Engine::Render() {
glClearColor(0, 1, 0, 1);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);glfwSwapBuffers(window);

Файл уже включен в мой файл main.cpp.
Есть ли причины проблемы и решения?

Решение

Задача ещё не решена.

Возникла эта проблема, когда я запускаю свой код, и я получаю около 450 ошибок при попытке запустить код.

Эта программа предназначена для курсовой работы в университете, поэтому я в основном работал над ней со своего компьютера в моей комнате, но я пошел в универ, чтобы задать несколько вопросов, получил свой код от github, попытался запустить, и именно тогда я получил все эти ошибки. Я спросил учителя, и он сказал, что это, вероятно, потому что версии Windows или VS разные, но все, что мне нужно было сделать, — это щелкнуть правой кнопкой мыши на проекте и нажать «Retarget solution». Это сработало.

Но я вернулся домой и сделал решение для ретаргетинга, но по какой-то причине оно, похоже, ничего не делает, и я получаю все эти ошибки.Список ошибок

Вот несколько из тех ошибок, скопированных, если это помогает иметь их в тексте. Это не уроки в моем проекте. Я предполагаю, что это стандартные библиотеки или классы C ++.

Severity    Code    Description Project File    Line    Suppression State
Error (active)  E1696   cannot open source file "errno.h"   Coursework  C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include\cerrno  7
Error (active)  E1696   cannot open source file "float.h"   Coursework  C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include\cfloat  7
Error (active)  E1696   cannot open source file "corecrt.h" Coursework  C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include\crtdefs.h   10
Error (active)  E1696   cannot open source file "stddef.h"  Coursework  C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include\cstddef 7
Error (active)  E1696   cannot open source file "stdio.h"   Coursework  C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include\cstdio  8
Error (active)  E1696   cannot open source file "stdlib.h"  Coursework  C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include\cstdlib 8
Error (active)  E1696   cannot open source file "math.h"    Coursework  C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include\cstdlib 9
Error (active)  E0282   the global scope has no "acosf" Coursework  C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include\cmath   27
Error (active)  E0282   the global scope has no "acoshf"    Coursework  C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include\cmath   32
Error (active)  E0282   the global scope has no "asinf" Coursework  C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include\cmath   37
Error (active)  E0282   the global scope has no "asinhf"    Coursework  C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include\cmath   42
Error (active)  E0282   the global scope has no "atanf" Coursework  C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include\cmath   47
Error (active)  E0282   the global scope has no "atanhf"    Coursework  C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include\cmath   52
Error (active)  E0282   the global scope has no "atan2f"    Coursework  C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include\cmath   57
Error (active)  E0282   the global scope has no "cbrtf" Coursework  C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include\cmath   62
Error (active)  E0282   the global scope has no "ceilf" Coursework  C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include\cmath   67
Error (active)  E0282   the global scope has no "copysignf" Coursework  C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include\cmath   73
Error (active)  E0282   the global scope has no "cosf"  Coursework  C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include\cmath   78
Error (active)  E0282   the global scope has no "coshf" Coursework  C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include\cmath   83
Error (active)  E0282   the global scope has no "erff"  Coursework  C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\include\cmath   88

Решение

Так что это не было большой проблемой. Все, что мне нужно было сделать, это сделать «ретаргетинг». Закройте VS, а затем снова откройте решение из локального репо. Я попробовал то же самое на некоторых компьютерах моего друга, и мне пришлось сделать то же самое.

Читайте также:  Что такое код ошибки 0 80010108

В любом случае, проблема «решена».

Я пытаюсь создать решение на Visual Studio Community 2017, но получаю сообщение об ошибке «Не удается открыть файл включения: ‘stdio.h’ «. Я прочитал несколько похожих вопросов, но все еще не могу решить эту проблему. Похоже, stdio.h файл вызывается в stdafx.h файл. Ниже приведены подробности. Какие-либо предложения? (Я пока не могу встраивать изображения, поэтому, пожалуйста, нажмите на ссылки для скриншотов.)

Детали системы:
Windows 10
Visual Studio Community 2017 v.15.2 (26430.6)
— Установленная разработка рабочего стола с C ++ (Снимок экрана: Список установки )

Шаг 1: Я написал знаменитую программу Hello World на C ++.

Шаг 2: Я нажал на Построить> Построить решение.

Проблема: ‘Stdio.h’: Данный файл или каталог отсутствует. Полная ошибка:

Детали по устранению неполадок / Вещи, которые я пробовал:

  1. Свойства конфигурации> Каталоги VC ++
    Include Directories $(VC_IncludePath);$(WindowsSDK_IncludePath);
  2. Снимок экрана: Solution Explorer (файлы в проекте)

Код в stdafx.cpp файл:

Код в stdafx.h файл:

Обратите внимание #include за а также оба имеют красную линию загогулины внизу и говорят «не может открыть исходный файл».
TRIED: я попытался удалить последние две строки, но потом я получил больше ошибок.

ПОПРОБУЙТЕ: так как многие предположили, что stdafx.h не требуется, я попытался удалить только первую строку, #include “stdafx.h” , Но для того, чтобы это сработало, мне пришлось сделать немного больше. СМОТРИТЕ ОТВЕТ.

Решение

Возникла та же проблема с переносом проекта с VS2013 на VS2017,
Исправлено: измените «Свойства-> Общие-> Версия Windows SDK» на 10

Другие решения

Столкнулся с проблемой пропавших без вести stdlib.h а также stdio.h (а может и больше) после установки VS2017 Community на новый компьютер и переноса решения с VS2013 на VS2017.

Читайте также:  Как исправить ошибку Microsoft Outlook 1025

Сейчас мои проекты строятся без проблем.

Обратите внимание, что вам может потребоваться сделать проект стартовым проектом для ретаргетинга.

Есть три способа решить эту проблему.

  1. Игнорировать предварительно скомпилированные заголовки # 1
    шаги: Проект> Свойства> Свойства конфигурации> C / C ++> Командная строка> в поле Дополнительные параметры добавьте / Y-. (Снимок экрана со страницами свойств )> ОК> Удалить #include “stdafx.h”
  2. Игнорировать предварительно скомпилированные заголовки # 2
    шаги: Файл> Создать> Проект> …> В окне мастера приложений нажмите кнопку Далее> Снимите флажок «Предварительно скомпилированный заголовок»> «Готово»> «Удалить». #include “stdafx.h”

Переустановите Visual Studio
Это также сработало для меня, потому что я понял, что, возможно, что-то не так с моим Windows SDK. Я использовал Windows 10, но с Windows SDK 8.1. У вас может быть и эта проблема.
шаги: Откройте установщик Visual Studio> щелкните трехстрочную строку меню> Удалить> Перезагрузите компьютер> Откройте установщик Visual Studio> Установите то, что вам нужно, но убедитесь, что вы устанавливаете только последнюю версию Windows SDK 10, а не несколько или 8.1.

Когда я устанавливал Visual Studio в первый раз, я получал сообщение о том, что мне нужно установить Windows SDK 8.1. Так я и сделал с помощью опции Modify установщика Visual Studio. Возможно, это было проблемой, потому что я установил ее после того, как Visual Studio уже была установлена, или потому что мне нужен SDK 10 вместо этого. Просто чтобы быть в безопасности, я сделал полную переустановку.

У меня была похожая проблема после обновления моего VS2017. Проект построен хорошо; но много «ошибок», когда код был поднят в редакторе. Даже попробовал переустановить VS. Я смог решить эту проблему, установив для параметра «Игнорировать стандартные пути включения» значение «Да». Попытка построить решение с большим количеством ошибок. Вернулся и установил опцию на Нет. После восстановления моя проблема ушла.

Читайте также:  К сожалению, добавить новое устройство "Билайн" в настоящее время не представляется возможным

Если вы не хотите использовать Windows SDK для Windows 10 (например, вы можете работать над проектом с открытым исходным кодом, решение которого не принимается вами), вы можете решить эту проблему в проекте Windows SDK 8.1 с помощью навигационный Tools -> Get Tools and Features. -> Individual Compontents tab и установка отдельных компонентов «Windows 8.1 SDK» (в составе SDK, библиотек и сред) и «Windows Universal CRT SDK» (в разделе «Компиляторы», средства сборки и среды выполнения):

У меня была такая же проблема при создании VS 2013 Project с помощью Visual Studio 2017 IDE.
Решением было установить правильный «Platformtoolset v120 (Visual Studio 2013)». Для этого должен быть установлен Windows SDK 8.1.
Если вы хотите использовать Platformtoolset v141 (Visual Studio 2017), необходимо установить Windows SDK 10.
Platformtoolset может быть выбран в диалоге свойств проекта: General -> Platformtoolset

103 Репутация автора

Я пытаюсь использовать графическую библиотеку (SFML) для C ++, и у меня возникли проблемы. Я использую Visual Studio 2017. Я посмотрел много уроков на Youtube и получаю ту же ошибку с каждым, что пытаюсь. Я не могу найти решение, так как люди говорят «папки должны быть вместе», что я уже сделал: Compiling the osiris
      #816 Вот ошибки, которые я получаю:

Код, который я запускаю (скопированный, с дополнительным):

Раньше в коде не было stdafx.h или std пространства имен, поэтому мне пришлось добавить их, потому что у меня были другие ошибки. Я был бы очень признателен за любую помощь. Спасибо

Ответы (1)

103 Репутация автора

Разобрался несколько дней назад, но забыл опубликовать, как я это исправил. Я скачал 32-битную версию SFML. В свойствах необходимо убедиться, что в нем написано: «Active (win32)» или что-то в этом роде. У меня был мой на “x64”, поэтому он не работал. Надеюсь, что это помогло кому-то еще с той же проблемой 🙂

Я пытаюсь использовать графическую библиотеку (SFML) для C ++, и у меня возникли проблемы. Я использую Visual Studio 2017 Я наблюдал много учебников Youtube, и получить ту же ошибку с каждым я стараюсь. Я не могу найти решение, как люди говорят «папки должны быть вместе» , которые я уже сделал: Compiling the osiris
      #816 Вот ошибки я получаю:

Код я бег (скопировано с дополнительным):

Перед тем, код не имеют stdafx.h или патезрасе, так что я должен был добавить их, потому что у меня были другие ошибки. Я бы очень признателен за любую помощь. благодаря

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *