Опасность: ошибка препроцессора: # строка должна появиться на первой строке

У меня есть система Ubuntu 14.04, и я попытался установить игру dangerdeep, версия 0.3.0. После запуска игры я могу выбрать миссию, но затем игра выйдет со следующим выходом на консоли Linux:

console log: $ffffffDanger $c0c0c0from the $ffffffDeep console log: $ffff00copyright and written 2003 by $ff0000Thorsten Jordan console log: $ff8000version 0.3.0 console log: $80ff80*** welcome *** console log: New thread [0xf47a1b40] console log: Loading... console log: Textures with non-power-two sizes are supported and used. console log: fonts loaded (115ms) console log: textures loaded (74ms) console log: Music list loaded (141ms) console log: Loading... console log: Using OpenGL GLSL shaders... console log: shader compiled successfully, log: console log: console log: shader compiled successfully, log: console log: console log: compiling failed, log: console log: 0:3(1): preprocessor error: #version must appear on the first line console log: End thread [0xf47a1b40] Caught exception: compiling of shader failed : /usr/share/games/dangerdeep/shaders/modelrender.vshader Stack trace: (5 frames) 0x8070202 in at ??:? 0x806d431 in at ??:0 0x806d4f1 in at ??:0 0xf7070af3 in __libc_start_main at ??:0 0x804e6a1 in at ??:0

Можно ли это зафиксировать?

0
задан 26 June 2017 в 20:47

2 ответа

Это означает, что в игре есть ошибка, что директива #version в шейдере GLSL появляется не в первой строке. Представьте себе, что половина шейдера проанализировала как одну версию GLSL, а затем вторую половину как другую - это не имело бы смысла! Итак, компилятор просто выручает ошибку.

В общем случае есть файл .drirc для работы с подобными неправильными приложениями, однако, глядя на xdriinfo options r600 | grep version, я не вижу ничего, чтобы иметь дело с конкретной проблемой (обратите внимание, что это Я не выглядел очень внимательно, поэтому я мог пропустить это.

Я не вижу легкого способа справиться с этой проблемой. Вы можете α) сообщить об ошибке разработчикам игры, β), так как игра FOSS, попытайтесь решить проблему самостоятельно (обратите внимание, что я не выглядел очень осторожно, поэтому я мог пропустить это) γ) отредактируйте драйвер пользовательского пространства, чтобы игнорировать проблему, и скомпилировать / установить ее.

0
ответ дан 18 July 2018 в 11:04

Это означает, что в игре есть ошибка, что директива #version в шейдере GLSL появляется не в первой строке. Представьте себе, что половина шейдера проанализировала как одну версию GLSL, а затем вторую половину как другую - это не имело бы смысла! Итак, компилятор просто выручает ошибку.

В общем случае есть файл .drirc для работы с подобными неправильными приложениями, однако, глядя на xdriinfo options r600 | grep version, я не вижу ничего, чтобы иметь дело с конкретной проблемой (обратите внимание, что это Я не выглядел очень внимательно, поэтому я мог пропустить это.

Я не вижу легкого способа справиться с этой проблемой. Вы можете α) сообщить об ошибке разработчикам игры, β), так как игра FOSS, попытайтесь решить проблему самостоятельно (обратите внимание, что я не выглядел очень осторожно, поэтому я мог пропустить это) γ) отредактируйте драйвер пользовательского пространства, чтобы игнорировать проблему, и скомпилировать / установить ее.

0
ответ дан 24 July 2018 в 19:43

Другие вопросы по тегам:

Похожие вопросы: