Ошибка Igl: неопределенные символы для архитектуры x86_64

Я начинаю использовать библиотеку igl для 3d в C ++, на моем Mac. Поскольку я следовал за учебником, появилась ошибка. Первый пример, в основном просто чтение файла OFF, работает нормально. Но второй, использующий igl :: viewer, не делает. Вот код:

#include <igl/readOFF.h>
#include <igl/viewer/Viewer.h>

Eigen::MatrixXd V;
Eigen::MatrixXi F;

int main(int argc, char *argv[])
{
// Load a mesh in OFF format
igl::readOFF("/bunny.off", V, F);

// Plot the mesh
igl::viewer::Viewer viewer;
viewer.data.set_mesh(V, F);
viewer.launch();
}

и я просто вхожу в терминал:

g++ -std=c++11 -I path_to_librairies/eigen-eigen-07105f7124f9/ -I path_to_librairies/libigl/include/ -I path_to_libraries/glfw-3.1.2/include/ main.cpp -o Test

где path_to_libraries — это личная папка, в которой хранятся мои библиотеки (igl, eigen, glfw).

И терминал возвращает десятки ошибок, таких как:

Undefined symbols for architecture x86_64:
"_glActiveTexture", referenced from:
igl::viewer::OpenGL_state::bind_mesh() in main-805320.o

Я также скачал Eigen и glfw. Все, что я сделал, это cmake в исходной папке glfw.

В завершение, я должен добавить, что когда я пытался с Xcode, добавление в проект фреймворка OpenGL (что я нашел в интернете) удалило половину ошибок (ту, что касается igl :: viewer :: OpenGL), но некоторые igl :: viewer :: Зрители остаются.

У кого-нибудь есть подсказка?

2

Решение

Скорее всего, вам нужно будет связать в нескольких платформах OS X, в соответствии с Документы GLFW, добавление

-lglfw -framework Cocoa -framework OpenGL -framework IOKit -framework CoreVideo

должен исправить вашу проблему.

4

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

Других решений пока нет …

По вопросам рекламы [email protected]