Как связать внешние библиотеки с файлом cpp через Emacs? - PullRequest
0 голосов
/ 13 марта 2020

Я использую текстовый редактор Emacs для редактирования своих файлов, и я изучал возможность использования OpenGL в своих программах. Однако у меня были проблемы с включением заголовка GLFW в мою программу.

Вот мой код для операторов #include и, по сути, проверяйте, правильно ли связаны файлы, что позже будет получено по гиперссылке.

#include <iostream>
#include <GL/glew.h>
#include <GLFW/glfw3.h>
using namespace std;

int main()
{
  glewExperimental = true;
  if(!glfwInit())
    {
      cout << "Failed to initialize" << endl;
      return -1;
    }

  return 0;
}

Я нажимаю M-x compile, затем g++ file.cpp -lglut -lGL -lGLEW -lGLU -o file.out и получаю следующую ошибку

g++ anotherGL.cpp -lglut -lGL -lGLEW -lGLU -o anotherGL.out
anotherGL.cpp:5:10: fatal error: GLFW/glfw3.h: No such file or directory
 #include <GLFW/glfw3.h>
          ^~~~~~~~~~~~~~

Я следовал инструкциям по загрузке учебной страницы OpenGL в разделе «Сборка на Linux», но инструкции расходятся после того, как она переходит к разделу, в котором находятся пакеты связан с IDE.

(http://www.opengl-tutorial.org/beginners-tutorials/tutorial-1-opening-a-window/)

Есть ли команда M-x, которую я могу использовать вместо того, что мне нужно для выполнения ссылки?

1 Ответ

0 голосов
/ 20 марта 2020

В системах "debian" и "red hat" включаемый файл GLFW/glfw3.h находится под /usr/include a * /usr/include/GLFW/glfw3.h. Ваш оператор включения корректен, так как /usr/include неявно ищется gcc/g++. Вы только что пропустили установку пакета разработки glfw. В системах на основе Debian или apt это libglfw3-dev. В системах на основе «red hat» или rpm это glfw-devel. Вам также может понадобиться добавить флаг -lglfw в команду компиляции.

...