如何在FreeBSD gnome3桌面环境中编译安装nanogui库?

2026-05-17 05:311阅读0评论SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计755个文字,预计阅读时间需要4分钟。

需要以下文件进行配置:- pybind11:[下载链接](https://files.cnblogs.com/files/lishuaicq/pybind11-2.9.2.zip?_t=1649311812)- nanovg:[下载链接](https://files.cnblogs.com/files/lishuaicq/nanovg.zip?_t=1649311805)- nanogui:[下载链接](https://files.cnblogs.com/files/lishuaicq/nanogui-n)

需要以下文件

pybind11:files.cnblogs.com/files/lishuaicq/pybind11-2.9.2.zip?t=1649311812

nanovg:files.cnblogs.com/files/lishuaicq/nanovg.zip?t=1649311805

nanogui:files.cnblogs.com/files/lishuaicq/nanogui-new.zip?t=1652153124

glfw:files.cnblogs.com/files/lishuaicq/glfw-3.3.7.zip?t=1649311780

用mitsuba-renderer/nanogui 这个版本可以直接编译,glfw为3.3版以后的只需要把CMakeLists.txt文件的“glfw_object”改为“glfw”即可

以下操作都可以作废了~

freebsd-build-so-file:files.cnblogs.com/files/lishuaicq/freebsd-nanogui-build-so-file.zip?t=1649333199

参考文件:

nanogui修改后可build的配置文件:files.cnblogs.com/files/lishuaicq/nanogui%E4%BF%AE%E6%94%B9%E5%90%8E%E5%8F%AFbuild%E7%9A%84cmake%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6.zip?t=1649314258

1.把pybind11和nanovg,glfw解压后的文件复制到nanogui的ext下,各目录文件对应放置

2.编译解压后glfw文件,编译成so文件

3.在nanogui目录下的glfw目录中创建一个lib目录用来存glfw的so文件,一共有三个

4.修改nanogui的CMakeLists.txt文件,如果使用的是3.2版本不需要,3.3版以上因为没有glfw_object项目,所以会报错

  1)NANOGUI_USE_GLAD_DEFAULT项都设置为ON

  2)NANOGUI_BUILD_EXAMPLE项设置为OFF

  3)NANOGUI_GLFW_BACKEND项设置为ON

  4)NANOGUI_BUILD_PYTHON设置为OFF(可选)

  5)NANOGUI_VULKAN_NOSDK设置为OFF(可选)

  6) 替换下面的代码,在524行if判断NANOGUI_GLFW_BACKEND OR NANOGUI_VULKAN_BACKEND方法内

    原来的代码:  add_library(nanogui ${NANOGUI_LIBRARY_TYPE}   $<TARGET_OBJECTS:nanogui-obj>   $<TARGET_OBJECTS:glfw_objects> )     需要修改的代码:            # 下面的这行是新增的,指定库的目录            link_directories(${CMAKE_CURRENT_SOURCE_DIR}/ext/glfw/lib)            add_library(nanogui ${NANOGUI_LIBRARY_TYPE}             $<TARGET_OBJECTS:nanogui-obj>             #$<TARGET_OBJECTS:glfw> ## 这里是需要你手动修改的            )            target_link_libraries(nanogui glfw) ## 这里是新增的代码     另外还有一个地方需要修改,680行的代码:            原:set_target_properties(glfw_objects PROPERTIES POSITION_INDEPENDENT_CODE ON)            改:set_target_properties(glfw PROPERTIES POSITION_INDEPENDENT_CODE ON) 5.进入nanogui目录下,创建一个build目录,cmake .. 命令后,把glfw生成的三个so文件复制到build目录下的ext_build/glfw/src目录里 6.回到nanogui目录的build用make -j<num>命令执行操作,<num>表示并发数量,如 -j4 7.编译结束就可以使用了 现在的问题:nanogui的例子代码能跑起来的只有3,4,icon三个,1和2会报错,编译环境使用的是14标准,这个或许是因为我用的FreeBSD 13吧,也许可以设置,但懒得去找       在用cmake使用时需要引入libnanogui.so和nanogui的include头文件,nanovg的src文件夹全部内容即可,不使用额外的glad和glfw也能正常编译,但不知道是不是缓存原因导致,后面再折腾吧       

本文共计755个文字,预计阅读时间需要4分钟。

需要以下文件进行配置:- pybind11:[下载链接](https://files.cnblogs.com/files/lishuaicq/pybind11-2.9.2.zip?_t=1649311812)- nanovg:[下载链接](https://files.cnblogs.com/files/lishuaicq/nanovg.zip?_t=1649311805)- nanogui:[下载链接](https://files.cnblogs.com/files/lishuaicq/nanogui-n)

需要以下文件

pybind11:files.cnblogs.com/files/lishuaicq/pybind11-2.9.2.zip?t=1649311812

nanovg:files.cnblogs.com/files/lishuaicq/nanovg.zip?t=1649311805

nanogui:files.cnblogs.com/files/lishuaicq/nanogui-new.zip?t=1652153124

glfw:files.cnblogs.com/files/lishuaicq/glfw-3.3.7.zip?t=1649311780

用mitsuba-renderer/nanogui 这个版本可以直接编译,glfw为3.3版以后的只需要把CMakeLists.txt文件的“glfw_object”改为“glfw”即可

以下操作都可以作废了~

freebsd-build-so-file:files.cnblogs.com/files/lishuaicq/freebsd-nanogui-build-so-file.zip?t=1649333199

参考文件:

nanogui修改后可build的配置文件:files.cnblogs.com/files/lishuaicq/nanogui%E4%BF%AE%E6%94%B9%E5%90%8E%E5%8F%AFbuild%E7%9A%84cmake%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6.zip?t=1649314258

1.把pybind11和nanovg,glfw解压后的文件复制到nanogui的ext下,各目录文件对应放置

2.编译解压后glfw文件,编译成so文件

3.在nanogui目录下的glfw目录中创建一个lib目录用来存glfw的so文件,一共有三个

4.修改nanogui的CMakeLists.txt文件,如果使用的是3.2版本不需要,3.3版以上因为没有glfw_object项目,所以会报错

  1)NANOGUI_USE_GLAD_DEFAULT项都设置为ON

  2)NANOGUI_BUILD_EXAMPLE项设置为OFF

  3)NANOGUI_GLFW_BACKEND项设置为ON

  4)NANOGUI_BUILD_PYTHON设置为OFF(可选)

  5)NANOGUI_VULKAN_NOSDK设置为OFF(可选)

  6) 替换下面的代码,在524行if判断NANOGUI_GLFW_BACKEND OR NANOGUI_VULKAN_BACKEND方法内

    原来的代码:  add_library(nanogui ${NANOGUI_LIBRARY_TYPE}   $<TARGET_OBJECTS:nanogui-obj>   $<TARGET_OBJECTS:glfw_objects> )     需要修改的代码:            # 下面的这行是新增的,指定库的目录            link_directories(${CMAKE_CURRENT_SOURCE_DIR}/ext/glfw/lib)            add_library(nanogui ${NANOGUI_LIBRARY_TYPE}             $<TARGET_OBJECTS:nanogui-obj>             #$<TARGET_OBJECTS:glfw> ## 这里是需要你手动修改的            )            target_link_libraries(nanogui glfw) ## 这里是新增的代码     另外还有一个地方需要修改,680行的代码:            原:set_target_properties(glfw_objects PROPERTIES POSITION_INDEPENDENT_CODE ON)            改:set_target_properties(glfw PROPERTIES POSITION_INDEPENDENT_CODE ON) 5.进入nanogui目录下,创建一个build目录,cmake .. 命令后,把glfw生成的三个so文件复制到build目录下的ext_build/glfw/src目录里 6.回到nanogui目录的build用make -j<num>命令执行操作,<num>表示并发数量,如 -j4 7.编译结束就可以使用了 现在的问题:nanogui的例子代码能跑起来的只有3,4,icon三个,1和2会报错,编译环境使用的是14标准,这个或许是因为我用的FreeBSD 13吧,也许可以设置,但懒得去找       在用cmake使用时需要引入libnanogui.so和nanogui的include头文件,nanovg的src文件夹全部内容即可,不使用额外的glad和glfw也能正常编译,但不知道是不是缓存原因导致,后面再折腾吧