Comments (7)
Hi,
There was indeed a bug in the cmake install script. I fixed this in this commit.
As for the linker errors: Can you make sure to link against the pmp_vis library in your cmake files? This should fix it.
Hope this helps,
Daniel
from pmp-library.
Hi Danel,
Thank you very much for your help, I try to add the pmp_vis library like this
cmake_minimum_required(VERSION 3.14)
project(MeshViewer)
set(CMAKE_CXX_STANDARD 14)
include_directories(/usr/local/include)
link_libraries(/usr/local/lib/libpmp_vis.a)
add_executable(MeshViewer main.cpp)
target_link_libraries(MeshViewer /usr/local/lib/libpmp.dylib)
but the error is:
Undefined symbols for architecture x86_64:
"ImGui_ImplOpenGL3_Init(char const*)", referenced from:
pmp::Window::init_imgui() in libpmp_vis.a(Window.cpp.o)
"ImGui_ImplGlfw_NewFrame()", referenced from:
pmp::Window::render_frame() in libpmp_vis.a(Window.cpp.o)
"ImGui_ImplGlfw_Shutdown()", referenced from:
pmp::Window::~Window() in libpmp_vis.a(Window.cpp.o)
"ImGui_ImplGlfw_KeyCallback(GLFWwindow*, int, int, int, int)", referenced from:
pmp::Window::glfw_keyboard(GLFWwindow*, int, int, int, int) in libpmp_vis.a(Window.cpp.o)
"ImGui_ImplOpenGL3_NewFrame()", referenced from:
pmp::Window::render_frame() in libpmp_vis.a(Window.cpp.o)
"ImGui_ImplOpenGL3_Shutdown()", referenced from:
pmp::Window::~Window() in libpmp_vis.a(Window.cpp.o)
"ImGui_ImplGlfw_CharCallback(GLFWwindow*, unsigned int)", referenced from:
pmp::Window::glfw_character(GLFWwindow*, unsigned int) in libpmp_vis.a(Window.cpp.o)
"ImGui_ImplGlfw_InitForOpenGL(GLFWwindow*, bool)", referenced from:
pmp::Window::init_imgui() in libpmp_vis.a(Window.cpp.o)
"ImGui_ImplGlfw_ScrollCallback(GLFWwindow*, double, double)", referenced from:
pmp::Window::glfw_scroll(GLFWwindow*, double, double) in libpmp_vis.a(Window.cpp.o)
"ImGui_ImplOpenGL3_RenderDrawData(ImDrawData*)", referenced from:
pmp::Window::render_frame() in libpmp_vis.a(Window.cpp.o)
"ImGui_ImplGlfw_MouseButtonCallback(GLFWwindow*, int, int, int)", referenced from:
pmp::Window::glfw_mouse(GLFWwindow*, int, int, int) in libpmp_vis.a(Window.cpp.o)
"ImGui_ImplOpenGL3_CreateFontsTexture()", referenced from:
pmp::Window::scale_imgui(float) in libpmp_vis.a(Window.cpp.o)
pmp::Window::keyboard(int, int, int, int) in libpmp_vis.a(Window.cpp.o)
"ImGui_ImplOpenGL3_DestroyFontsTexture()", referenced from:
pmp::Window::scale_imgui(float) in libpmp_vis.a(Window.cpp.o)
pmp::Window::keyboard(int, int, int, int) in libpmp_vis.a(Window.cpp.o)
"ImFontAtlas::AddFontFromMemoryCompressedTTF(void const*, int, float, ImFontConfig const*, unsigned short const*)", referenced from:
pmp::Window::init_imgui() in libpmp_vis.a(Window.cpp.o)
pmp::Window::scale_imgui(float) in libpmp_vis.a(Window.cpp.o)
pmp::Window::keyboard(int, int, int, int) in libpmp_vis.a(Window.cpp.o)
"ImFontAtlas::Clear()", referenced from:
pmp::Window::scale_imgui(float) in libpmp_vis.a(Window.cpp.o)
pmp::Window::keyboard(int, int, int, int) in libpmp_vis.a(Window.cpp.o)
"ImGui::BulletText(char const*, ...)", referenced from:
pmp::MeshViewer::process_imgui() in libpmp_vis.a(MeshViewer.cpp.o)
"ImGui::NextColumn()", referenced from:
pmp::Window::show_help() in libpmp_vis.a(Window.cpp.o)
"ImGui::GetDrawData()", referenced from:
pmp::Window::render_frame() in libpmp_vis.a(Window.cpp.o)
"ImGui::SliderFloat(char const*, float*, float, float, char const*, float)", referenced from:
pmp::MeshViewer::process_imgui() in libpmp_vis.a(MeshViewer.cpp.o)
"ImGui::PopItemWidth()", referenced from:
pmp::MeshViewer::process_imgui() in libpmp_vis.a(MeshViewer.cpp.o)
"ImGui::CreateContext(ImFontAtlas*)", referenced from:
pmp::Window::init_imgui() in libpmp_vis.a(Window.cpp.o)
"ImGui::PushItemWidth(float)", referenced from:
pmp::MeshViewer::process_imgui() in libpmp_vis.a(MeshViewer.cpp.o)
"ImGui::DestroyContext(ImGuiContext*)", referenced from:
pmp::Window::~Window() in libpmp_vis.a(Window.cpp.o)
"ImGui::SetColumnWidth(int, float)", referenced from:
pmp::Window::show_help() in libpmp_vis.a(Window.cpp.o)
"ImGui::BeginPopupModal(char const*, bool*, int)", referenced from:
pmp::Window::show_help() in libpmp_vis.a(Window.cpp.o)
"ImGui::StyleColorsDark(ImGuiStyle*)", referenced from:
pmp::Window::init_imgui() in libpmp_vis.a(Window.cpp.o)
"ImGui::CollapsingHeader(char const*, int)", referenced from:
pmp::MeshViewer::process_imgui() in libpmp_vis.a(MeshViewer.cpp.o)
"ImGui::SetNextWindowPos(ImVec2 const&, int, ImVec2 const&)", referenced from:
pmp::Window::render_frame() in libpmp_vis.a(Window.cpp.o)
"ImGui::CloseCurrentPopup()", referenced from:
pmp::Window::show_help() in libpmp_vis.a(Window.cpp.o)
"ImGui::SetNextWindowFocus()", referenced from:
pmp::Window::show_help() in libpmp_vis.a(Window.cpp.o)
"ImGui::DebugCheckVersionAndDataLayout(char const*, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long, unsigned long)", referenced from:
pmp::Window::init_imgui() in libpmp_vis.a(Window.cpp.o)
"ImGui::End()", referenced from:
pmp::Window::render_frame() in libpmp_vis.a(Window.cpp.o)
"ImGui::Text(char const*, ...)", referenced from:
pmp::Window::show_help() in libpmp_vis.a(Window.cpp.o)
pmp::Window::render_frame() in libpmp_vis.a(Window.cpp.o)
"ImGui::Begin(char const*, bool*, int)", referenced from:
pmp::Window::render_frame() in libpmp_vis.a(Window.cpp.o)
"ImGui::GetIO()", referenced from:
pmp::Window::glfw_character(GLFWwindow*, unsigned int) in libpmp_vis.a(Window.cpp.o)
pmp::Window::glfw_keyboard(GLFWwindow*, int, int, int, int) in libpmp_vis.a(Window.cpp.o)
pmp::Window::glfw_mouse(GLFWwindow*, int, int, int) in libpmp_vis.a(Window.cpp.o)
pmp::Window::glfw_scroll(GLFWwindow*, double, double) in libpmp_vis.a(Window.cpp.o)
pmp::Window::init_imgui() in libpmp_vis.a(Window.cpp.o)
pmp::Window::scale_imgui(float) in libpmp_vis.a(Window.cpp.o)
pmp::Window::keyboard(int, int, int, int) in libpmp_vis.a(Window.cpp.o)
...
"ImGui::Button(char const*, ImVec2 const&)", referenced from:
pmp::Window::show_help() in libpmp_vis.a(Window.cpp.o)
"ImGui::Render()", referenced from:
pmp::Window::render_frame() in libpmp_vis.a(Window.cpp.o)
"ImGui::Columns(int, char const*, bool)", referenced from:
pmp::Window::show_help() in libpmp_vis.a(Window.cpp.o)
"ImGui::Spacing()", referenced from:
pmp::Window::render_frame() in libpmp_vis.a(Window.cpp.o)
"ImGui::EndPopup()", referenced from:
pmp::Window::show_help() in libpmp_vis.a(Window.cpp.o)
"ImGui::GetStyle()", referenced from:
pmp::Window::init_imgui() in libpmp_vis.a(Window.cpp.o)
pmp::Window::scale_imgui(float) in libpmp_vis.a(Window.cpp.o)
pmp::Window::keyboard(int, int, int, int) in libpmp_vis.a(Window.cpp.o)
"ImGui::NewFrame()", referenced from:
pmp::Window::render_frame() in libpmp_vis.a(Window.cpp.o)
"ImGui::OpenPopup(char const*)", referenced from:
pmp::Window::show_help() in libpmp_vis.a(Window.cpp.o)
"ImGui::Separator()", referenced from:
pmp::Window::show_help() in libpmp_vis.a(Window.cpp.o)
pmp::Window::render_frame() in libpmp_vis.a(Window.cpp.o)
"___glewAttachShader", referenced from:
pmp::Shader::source(char const*, char const*) in libpmp_vis.a(Shader.cpp.o)
pmp::Shader::load(char const*, char const*) in libpmp_vis.a(Shader.cpp.o)
"___glewBindAttribLocation", referenced from:
pmp::Shader::bind_attribute(char const*, unsigned int) in libpmp_vis.a(Shader.cpp.o)
"___glewBindBuffer", referenced from:
pmp::SurfaceMeshGL::update_opengl_buffers() in libpmp_vis.a(SurfaceMeshGL.cpp.o)
pmp::SurfaceMeshGL::draw(pmp::Matrix<float, 4, 4> const&, pmp::Matrix<float, 4, 4> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in libpmp_vis.a(SurfaceMeshGL.cpp.o)
"___glewBindVertexArray", referenced from:
pmp::SurfaceMeshGL::update_opengl_buffers() in libpmp_vis.a(SurfaceMeshGL.cpp.o)
pmp::SurfaceMeshGL::draw(pmp::Matrix<float, 4, 4> const&, pmp::Matrix<float, 4, 4> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in libpmp_vis.a(SurfaceMeshGL.cpp.o)
"___glewBufferData", referenced from:
pmp::SurfaceMeshGL::update_opengl_buffers() in libpmp_vis.a(SurfaceMeshGL.cpp.o)
"___glewCompileShader", referenced from:
pmp::Shader::compile(char const*, unsigned int) in libpmp_vis.a(Shader.cpp.o)
"___glewCreateProgram", referenced from:
pmp::Shader::source(char const*, char const*) in libpmp_vis.a(Shader.cpp.o)
pmp::Shader::load(char const*, char const*) in libpmp_vis.a(Shader.cpp.o)
"___glewCreateShader", referenced from:
pmp::Shader::compile(char const*, unsigned int) in libpmp_vis.a(Shader.cpp.o)
"___glewDeleteBuffers", referenced from:
pmp::SurfaceMeshGL::~SurfaceMeshGL() in libpmp_vis.a(SurfaceMeshGL.cpp.o)
"___glewDeleteProgram", referenced from:
pmp::Shader::~Shader() in libpmp_vis.a(Shader.cpp.o)
pmp::Shader::cleanup() in libpmp_vis.a(Shader.cpp.o)
pmp::Shader::~Shader() in libpmp_vis.a(Shader.cpp.o)
pmp::Shader::source(char const*, char const*) in libpmp_vis.a(Shader.cpp.o)
pmp::Shader::link() in libpmp_vis.a(Shader.cpp.o)
pmp::Shader::load(char const*, char const*) in libpmp_vis.a(Shader.cpp.o)
"___glewDeleteShader", referenced from:
pmp::Shader::~Shader() in libpmp_vis.a(Shader.cpp.o)
pmp::Shader::cleanup() in libpmp_vis.a(Shader.cpp.o)
pmp::Shader::~Shader() in libpmp_vis.a(Shader.cpp.o)
pmp::Shader::source(char const*, char const*) in libpmp_vis.a(Shader.cpp.o)
pmp::Shader::compile(char const*, unsigned int) in libpmp_vis.a(Shader.cpp.o)
pmp::Shader::link() in libpmp_vis.a(Shader.cpp.o)
pmp::Shader::load(char const*, char const*) in libpmp_vis.a(Shader.cpp.o)
...
"___glewDeleteVertexArrays", referenced from:
pmp::SurfaceMeshGL::~SurfaceMeshGL() in libpmp_vis.a(SurfaceMeshGL.cpp.o)
"___glewEnableVertexAttribArray", referenced from:
pmp::SurfaceMeshGL::update_opengl_buffers() in libpmp_vis.a(SurfaceMeshGL.cpp.o)
"___glewGenBuffers", referenced from:
pmp::SurfaceMeshGL::update_opengl_buffers() in libpmp_vis.a(SurfaceMeshGL.cpp.o)
"___glewGenVertexArrays", referenced from:
pmp::SurfaceMeshGL::update_opengl_buffers() in libpmp_vis.a(SurfaceMeshGL.cpp.o)
"___glewGenerateMipmap", referenced from:
pmp::SurfaceMeshGL::load_texture(char const*, int, int, int, int) in libpmp_vis.a(SurfaceMeshGL.cpp.o)
"___glewGetProgramInfoLog", referenced from:
pmp::Shader::link() in libpmp_vis.a(Shader.cpp.o)
"___glewGetProgramiv", referenced from:
pmp::Shader::link() in libpmp_vis.a(Shader.cpp.o)
"___glewGetShaderInfoLog", referenced from:
pmp::Shader::compile(char const*, unsigned int) in libpmp_vis.a(Shader.cpp.o)
"___glewGetShaderiv", referenced from:
pmp::Shader::compile(char const*, unsigned int) in libpmp_vis.a(Shader.cpp.o)
"___glewGetUniformLocation", referenced from:
pmp::Shader::set_uniform(char const*, float) in libpmp_vis.a(Shader.cpp.o)
pmp::Shader::set_uniform(char const*, int) in libpmp_vis.a(Shader.cpp.o)
pmp::Shader::set_uniform(char const*, pmp::Matrix<float, 3, 1> const&) in libpmp_vis.a(Shader.cpp.o)
pmp::Shader::set_uniform(char const*, pmp::Matrix<float, 4, 1> const&) in libpmp_vis.a(Shader.cpp.o)
pmp::Shader::set_uniform(char const*, pmp::Matrix<float, 3, 3> const&) in libpmp_vis.a(Shader.cpp.o)
pmp::Shader::set_uniform(char const*, pmp::Matrix<float, 4, 4> const&) in libpmp_vis.a(Shader.cpp.o)
"___glewLinkProgram", referenced from:
pmp::Shader::link() in libpmp_vis.a(Shader.cpp.o)
"___glewShaderSource", referenced from:
pmp::Shader::compile(char const*, unsigned int) in libpmp_vis.a(Shader.cpp.o)
"___glewUniform1f", referenced from:
pmp::Shader::set_uniform(char const*, float) in libpmp_vis.a(Shader.cpp.o)
"___glewUniform1i", referenced from:
pmp::Shader::set_uniform(char const*, int) in libpmp_vis.a(Shader.cpp.o)
"___glewUniform3f", referenced from:
pmp::Shader::set_uniform(char const*, pmp::Matrix<float, 3, 1> const&) in libpmp_vis.a(Shader.cpp.o)
"___glewUniform4f", referenced from:
pmp::Shader::set_uniform(char const*, pmp::Matrix<float, 4, 1> const&) in libpmp_vis.a(Shader.cpp.o)
"___glewUniformMatrix3fv", referenced from:
pmp::Shader::set_uniform(char const*, pmp::Matrix<float, 3, 3> const&) in libpmp_vis.a(Shader.cpp.o)
"___glewUniformMatrix4fv", referenced from:
pmp::Shader::set_uniform(char const*, pmp::Matrix<float, 4, 4> const&) in libpmp_vis.a(Shader.cpp.o)
"___glewUseProgram", referenced from:
pmp::Shader::use() in libpmp_vis.a(Shader.cpp.o)
pmp::Shader::disable() in libpmp_vis.a(Shader.cpp.o)
"___glewVertexAttribPointer", referenced from:
pmp::SurfaceMeshGL::update_opengl_buffers() in libpmp_vis.a(SurfaceMeshGL.cpp.o)
"_glBindTexture", referenced from:
pmp::SurfaceMeshGL::load_texture(char const*, int, int, int, int) in libpmp_vis.a(SurfaceMeshGL.cpp.o)
pmp::SurfaceMeshGL::use_cold_warm_texture() in libpmp_vis.a(SurfaceMeshGL.cpp.o)
pmp::SurfaceMeshGL::use_checkerboard_texture() in libpmp_vis.a(SurfaceMeshGL.cpp.o)
pmp::SurfaceMeshGL::draw(pmp::Matrix<float, 4, 4> const&, pmp::Matrix<float, 4, 4> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in libpmp_vis.a(SurfaceMeshGL.cpp.o)
"_glClear", referenced from:
pmp::TrackballViewer::display() in libpmp_vis.a(TrackballViewer.cpp.o)
"_glClearColor", referenced from:
pmp::TrackballViewer::init() in libpmp_vis.a(TrackballViewer.cpp.o)
"_glDeleteTextures", referenced from:
pmp::SurfaceMeshGL::~SurfaceMeshGL() in libpmp_vis.a(SurfaceMeshGL.cpp.o)
pmp::SurfaceMeshGL::load_texture(char const*, int, int, int, int) in libpmp_vis.a(SurfaceMeshGL.cpp.o)
pmp::SurfaceMeshGL::use_cold_warm_texture() in libpmp_vis.a(SurfaceMeshGL.cpp.o)
pmp::SurfaceMeshGL::use_checkerboard_texture() in libpmp_vis.a(SurfaceMeshGL.cpp.o)
"_glDepthFunc", referenced from:
pmp::SurfaceMeshGL::draw(pmp::Matrix<float, 4, 4> const&, pmp::Matrix<float, 4, 4> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in libpmp_vis.a(SurfaceMeshGL.cpp.o)
"_glDepthRange", referenced from:
pmp::SurfaceMeshGL::draw(pmp::Matrix<float, 4, 4> const&, pmp::Matrix<float, 4, 4> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in libpmp_vis.a(SurfaceMeshGL.cpp.o)
"_glDrawArrays", referenced from:
pmp::SurfaceMeshGL::draw(pmp::Matrix<float, 4, 4> const&, pmp::Matrix<float, 4, 4> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in libpmp_vis.a(SurfaceMeshGL.cpp.o)
"_glDrawElements", referenced from:
pmp::SurfaceMeshGL::draw(pmp::Matrix<float, 4, 4> const&, pmp::Matrix<float, 4, 4> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in libpmp_vis.a(SurfaceMeshGL.cpp.o)
"_glEnable", referenced from:
pmp::SurfaceMeshGL::draw(pmp::Matrix<float, 4, 4> const&, pmp::Matrix<float, 4, 4> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >) in libpmp_vis.a(SurfaceMeshGL.cpp.o)
pmp::TrackballViewer::init() in libpmp_vis.a(TrackballViewer.cpp.o)
"_glGenTextures", referenced from:
pmp::SurfaceMeshGL::load_texture(char const*, int, int, int, int) in libpmp_vis.a(SurfaceMeshGL.cpp.o)
pmp::SurfaceMeshGL::use_cold_warm_texture() in libpmp_vis.a(SurfaceMeshGL.cpp.o)
pmp::SurfaceMeshGL::use_checkerboard_texture() in libpmp_vis.a(SurfaceMeshGL.cpp.o)
"_glGetError", referenced from:
glCheckError(bool) in libpmp_vis.a(SurfaceMeshGL.cpp.o)
pmp::Window::Window(char const*, int, int, bool) in libpmp_vis.a(Window.cpp.o)
"_glGetIntegerv", referenced from:
pmp::TrackballViewer::init() in libpmp_vis.a(TrackballViewer.cpp.o)
pmp::TrackballViewer::pick(int, int, pmp::Matrix<float, 3, 1>&) in libpmp_vis.a(TrackballViewer.cpp.o)
pmp::Window::Window(char const*, int, int, bool) in libpmp_vis.a(Window.cpp.o)
"_glGetString", referenced from:
pmp::Window::Window(char const*, int, int, bool) in libpmp_vis.a(Window.cpp.o)
"_glPixelStorei", referenced from:
pmp::SurfaceMeshGL::load_texture(char const*, int, int, int, int) in libpmp_vis.a(SurfaceMeshGL.cpp.o)
"_glReadPixels", referenced from:
pmp::TrackballViewer::pick(int, int, pmp::Matrix<float, 3, 1>&) in libpmp_vis.a(TrackballViewer.cpp.o)
"_glTexImage2D", referenced from:
pmp::SurfaceMeshGL::load_texture(char const*, int, int, int, int) in libpmp_vis.a(SurfaceMeshGL.cpp.o)
pmp::SurfaceMeshGL::use_cold_warm_texture() in libpmp_vis.a(SurfaceMeshGL.cpp.o)
pmp::SurfaceMeshGL::use_checkerboard_texture() in libpmp_vis.a(SurfaceMeshGL.cpp.o)
"_glTexParameteri", referenced from:
pmp::SurfaceMeshGL::load_texture(char const*, int, int, int, int) in libpmp_vis.a(SurfaceMeshGL.cpp.o)
pmp::SurfaceMeshGL::use_cold_warm_texture() in libpmp_vis.a(SurfaceMeshGL.cpp.o)
pmp::SurfaceMeshGL::use_checkerboard_texture() in libpmp_vis.a(SurfaceMeshGL.cpp.o)
"_glViewport", referenced from:
pmp::TrackballViewer::resize(int, int) in libpmp_vis.a(TrackballViewer.cpp.o)
"_glewExperimental", referenced from:
pmp::Window::Window(char const*, int, int, bool) in libpmp_vis.a(Window.cpp.o)
"_glewGetErrorString", referenced from:
pmp::Window::Window(char const*, int, int, bool) in libpmp_vis.a(Window.cpp.o)
"_glewGetString", referenced from:
pmp::Window::Window(char const*, int, int, bool) in libpmp_vis.a(Window.cpp.o)
"_glewInit", referenced from:
pmp::Window::Window(char const*, int, int, bool) in libpmp_vis.a(Window.cpp.o)
"_glfwCreateWindow", referenced from:
pmp::Window::Window(char const*, int, int, bool) in libpmp_vis.a(Window.cpp.o)
"_glfwGetCursorPos", referenced from:
pmp::Window::cursor_pos(double&, double&) const in libpmp_vis.a(Window.cpp.o)
"_glfwGetFramebufferSize", referenced from:
pmp::Window::Window(char const*, int, int, bool) in libpmp_vis.a(Window.cpp.o)
"_glfwGetWindowSize", referenced from:
pmp::Window::Window(char const*, int, int, bool) in libpmp_vis.a(Window.cpp.o)
"_glfwInit", referenced from:
pmp::Window::Window(char const*, int, int, bool) in libpmp_vis.a(Window.cpp.o)
"_glfwMakeContextCurrent", referenced from:
pmp::Window::Window(char const*, int, int, bool) in libpmp_vis.a(Window.cpp.o)
pmp::Window::render_frame() in libpmp_vis.a(Window.cpp.o)
"_glfwPollEvents", referenced from:
pmp::Window::render_frame() in libpmp_vis.a(Window.cpp.o)
"_glfwSetCharCallback", referenced from:
pmp::Window::Window(char const*, int, int, bool) in libpmp_vis.a(Window.cpp.o)
"_glfwSetCursorPosCallback", referenced from:
pmp::Window::Window(char const*, int, int, bool) in libpmp_vis.a(Window.cpp.o)
"_glfwSetErrorCallback", referenced from:
pmp::Window::Window(char const*, int, int, bool) in libpmp_vis.a(Window.cpp.o)
"_glfwSetFramebufferSizeCallback", referenced from:
pmp::Window::Window(char const*, int, int, bool) in libpmp_vis.a(Window.cpp.o)
"_glfwSetKeyCallback", referenced from:
pmp::Window::Window(char const*, int, int, bool) in libpmp_vis.a(Window.cpp.o)
"_glfwSetMouseButtonCallback", referenced from:
pmp::Window::Window(char const*, int, int, bool) in libpmp_vis.a(Window.cpp.o)
"_glfwSetScrollCallback", referenced from:
pmp::Window::Window(char const*, int, int, bool) in libpmp_vis.a(Window.cpp.o)
"_glfwSwapBuffers", referenced from:
pmp::Window::render_frame() in libpmp_vis.a(Window.cpp.o)
"_glfwSwapInterval", referenced from:
pmp::Window::Window(char const*, int, int, bool) in libpmp_vis.a(Window.cpp.o)
"_glfwTerminate", referenced from:
pmp::Window::Window(char const*, int, int, bool) in libpmp_vis.a(Window.cpp.o)
pmp::Window::~Window() in libpmp_vis.a(Window.cpp.o)
"_glfwWindowHint", referenced from:
pmp::Window::Window(char const*, int, int, bool) in libpmp_vis.a(Window.cpp.o)
"_glfwWindowShouldClose", referenced from:
pmp::Window::run() in libpmp_vis.a(Window.cpp.o)
"_stbi_image_free", referenced from:
pmp::SurfaceMeshGL::load_texture(char const*, int, int, int, int) in libpmp_vis.a(SurfaceMeshGL.cpp.o)
"_stbi_load", referenced from:
pmp::SurfaceMeshGL::load_texture(char const*, int, int, int, int) in libpmp_vis.a(SurfaceMeshGL.cpp.o)
"_stbi_set_flip_vertically_on_load", referenced from:
pmp::SurfaceMeshGL::load_texture(char const*, int, int, int, int) in libpmp_vis.a(SurfaceMeshGL.cpp.o)
ld: symbol(s) not found for architecture x86_64
does it mean that I should also add the openGL library in my cmakeList?
Yours gratefully,
Rong-Yan Xu
from pmp-library.
Well I add the Opengl into my project but there are still some errors:
Undefined symbols for architecture x86_64:
"_stbi_image_free", referenced from:
pmp::SurfaceMeshGL::load_texture(char const*, int, int, int, int) in libpmp_vis.a(SurfaceMeshGL.cpp.o)
"_stbi_load", referenced from:
pmp::SurfaceMeshGL::load_texture(char const*, int, int, int, int) in libpmp_vis.a(SurfaceMeshGL.cpp.o)
"_stbi_set_flip_vertically_on_load", referenced from:
pmp::SurfaceMeshGL::load_texture(char const*, int, int, int, int) in libpmp_vis.a(SurfaceMeshGL.cpp.o)
ld: symbol(s) not found for architecture x86_64
from pmp-library.
I have fixed all link errors but...another error occured
/Users/xry/Programing/C++/MeshViewer/cmake-build-debug/MeshViewer
GLEW 2.1.0
GL 4.1 ATI-2.9.26
GLSL 4.10
Assertion failed: (strcmp(version,"1.72 WIP")==0 && "Mismatched version string!"), function DebugCheckVersionAndDataLayout, file /Users/xry/Programing/C++/MeshViewer/imgui.cpp, line 3135.
highDPI scaling: 2
from pmp-library.
Hi,
This looks like you linked against a different imgui version. The version we include is 1.70, and the assertion you are getting reports "1.72 WIP".
from pmp-library.
Hi,
I had another look, and it indeed seems that installing through make install
is broken in its current form.
In the meantime, I'd suggest to simply use the project template we are providing in the pmp-template repository. See also the quickstart guide.
Hope this helps,
Daniel
from pmp-library.
Thank you for your help! I've tried your advice and it worked very well.
from pmp-library.
Related Issues (20)
- Issue with STL reader HOT 3
- STL export does not guarantee positive vertex coordinates HOT 2
- remnants of submodules HOT 2
- missing faces in face circulator HOT 2
- Curious, is this topology a legitimate and supported halfedge data structure? HOT 2
- extract texture png file HOT 1
- Valence of faces are unexpectedly 0, affecting is_triangle_mesh() HOT 6
- Issue in hole filling algorithm HOT 1
- Parameterization with stitched edges
- Regression: Shader info logs are not reported on compile error HOT 3
- Keyboard modifier state is not tracked correctly when ImGui is capturing the keyboard HOT 2
- SurfaceMesh gives the error result HOT 1
- OpenGL 4.6 support? HOT 1
- In laplace_matrix function, Eigen SparseMatrix setFromTriplets gives "double free or corruption (out)" Error. HOT 5
- write_obj followed by read_obj crashes when the mesh has halfedge texcoords HOT 1
- Topology Exception reading binary STL files HOT 8
- Help Needed - How to use this in iOS Project
- Bug of Renderer::update_opengl_buffers? HOT 6
- Incorrect endianness in OFF file handling HOT 6
- WebGL demo apps broken with latest Emscripten release
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pmp-library.