meshlab 2016 编译问题 - 无法找到着色器目录

meshlab 2016 compilation issue - Unable to find shaders directory

我们尝试通过从源代码编译来在 linux 上安装 meshlab 2016。最后,我们设法完成了,但通知说

Unable to find shaders directory; No shaders will be loaded

有人知道解决这个问题的线索吗?

此外,在编译时,似乎所有外部库的相关链接(lib3ds.a 等)都疯了,被迫在文件中添加确切的路径解决这个问题。有人对此有解决方案吗?

使用

完成编译

QT 4.2.0 Based on Qt 5.7.1 (GCC 4.9.1 20140922 (Red Hat 4.9.1-10), 64 bit)

您是在手动创建的文件夹中创建 executable/shared 库吗? shaders 文件夹存在于 meshlab/src/distrib/ 中,默认情况下可执行文件和共享库将被复制到该位置。

你能提供更多的日志吗?我不确定你的问题,但它看起来类似于我在 "Shadow build" 编译配置选项 (this issue is described there)

中遇到的问题

编译后,外部库应在 meshlab/src/external/lib/linux-g++ 中。如果您在 "Projects" 中检查了 "Shadow build",则可以在 meshlab/src/build-external-Desktop_Qt_5_7_1_GCC_64bit-Debug/lib/linux-g++ 中找到它们。如果您没有检查 "Shadow build",您就不会遇到这个问题。

问题来自 meshlab.pro 文件中的第 153 行:

linux-g++:LIBS += -L../external/lib/linux-g++ -ljhead -L../distrib -lcommon -lGLU

应该改为:

linux-g++:LIBS += -L../../src/external/lib/linux-g++ -ljhead -L../distrib -lcommon -lGLU

其他 "pro" 文件也应更改。有关详细信息,请参阅提供的 link。