libigl添加Viewer Menu时出现imgui相关的错误:无法打开包括文件: “imgui.h”: No such file or directory

libigl添加如下图所示的Viewer Menu时,出现了“无法打开包括文件: “imgui.h”: No such file or directory”的错误
很显然是libigl内嵌的imgui出了问题
在这里插入图片描述
从项目路径libigl-example-project-main\out\build\x64-Release\_deps\libigl-src\include\igl\opengl\glfw\imgui中查看发现并没有imgui.h这个文件
由于libigl的2.4版本是利用libigl的模板中的libigl.cmake自动下载libigl的相关库,这里应该是imgui相关文件下载不全的问题

先从https://github.com/ocornut/imgui中下载imgui所有相关文件,一开始本人向项目路径libigl-example-project-main\out\build\x64-Release\_deps\libigl-src\include\igl\opengl\glfw\imgui中直接添加imgui缺失的文件,但还是会出现无法找到文件的问题

为了解决这个问题,本人从libigl的先前版本的https://github.com/libigl/libigl-imgui/blob/master/CMakeLists.txt中得到灵感,决定从外部将imgui添加到项目libigl-example-project-main中,本人将先从https://github.com/ocornut/imgui中下载并解压后得到的imgui-master文件夹重命名为imgui并且放到项目libigl-example-project-main同级文件夹下,然后向项目libigl-example-project-main的CMakeLists.txt文件夹中添加如下如下内容:

add_library(imgui
		../imgui/imgui.cpp
		../imgui/imgui.h
		../imgui/imgui_demo.cpp
		../imgui/imgui_draw.cpp
		../imgui/imgui_tables.cpp
		../imgui/imgui_internal.h
		../imgui/imgui_widgets.cpp
		../imgui/imstb_rectpack.h
		../imgui/imstb_textedit.h
		../imgui/imstb_truetype.h
		../imgui/imgui_fonts_droid_sans.h
		../imgui/backends/imgui_impl_glfw.cpp
		../imgui/backends/imgui_impl_opengl3.cpp
)
target_include_directories(imgui PUBLIC ../imgui)
target_include_directories(imgui PUBLIC ../imgui/backends)
target_compile_definitions(imgui PUBLIC -DIMGUI_IMPL_OPENGL_LOADER_GLAD)
target_link_libraries(imgui PRIVATE glad glfw)

将imgui添加为一个库(注意上述中的imgui_fonts_droid_sans.h是从https://github.com/libigl/libigl-imgui中下载并额外添加到imgui文件夹中的,如果没有这个文件,程序运行后也会报找不到imgui_fonts_droid_sans.h的错误),最后在项目libigl-example-project-main的CMakeLists.txt文件夹中添加如下内容:

target_link_libraries(${PROJECT_NAME} igl::core igl::glfw imgui)

即将imgui库链接到项目中,程序运行后不报错,问题解决

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值