Действительно ли возможно разработать приложения DirectX в Linux?

Указатель NULL - это тот, который указывает на никуда. Когда вы разыскиваете указатель p, вы говорите «дайте мне данные в месте, хранящемся в« p ». Когда p является нулевым указателем, местоположение, хранящееся в p, является nowhere, вы говорите «Дайте мне данные в месте« нигде ». Очевидно, он не может этого сделать, поэтому он выбрасывает NULL pointer exception.

В общем, это потому, что что-то не было правильно инициализировано.

12
задан Nick 16 September 2008 в 09:27
поделиться

7 ответов

У меня была некоторая удача с этим. Мне удалось скомпилировать этот простой пример Direct3D.

Я использовал winelib для этого (винный-dev пакет на Ubuntu). Благодаря alastair для указания на меня к winelib.

Я изменил источник немного для преобразования wchars в символы (1 на строке 52, 2 на строке 55, путем удаления L перед строковыми литералами). Может быть путь вокруг этого, но это разбудило его и выполнение.

Я затем скомпилировал источник со следующим:

wineg++ -ld3d9 -ld3dx9 triangle.cpp

Это генерирует a.out.exe.so двоичный файл, а также a.out сценарий для выполнения его под вином.

10
ответ дан 2 December 2019 в 19:00
поделиться

Если это не о портировании, но создании, необходимо действительно рассмотреть OpenGL, поскольку этот API так же мощен как DirectX и намного легче к порту к Mac или Linux.

Я не знаю Ваших требований, таким образом, лучше упоминают это.

4
ответ дан 2 December 2019 в 19:00
поделиться

Вы не можете связаться против вина, поскольку это - по существу вызов interdictor/translator, а не ряд библиотек, в которые можно сцепиться. Если Linux является важным движением OpenGL/SDL/OpenAL.

2
ответ дан 2 December 2019 в 19:00
поделиться

Я верю (я никогда не пробовал это), Вы, банка может скомпилировать двоичные файлы Linux против winelib. Таким образом, это работает точно так же, как исполняемый файл Linux, но с библиотеками окон.

http://www.winehq.org/site/docs/winelib-guide/index

2
ответ дан 2 December 2019 в 19:00
поделиться

В настоящее время нет никакого способа скомпилировать код DirectX для прямого предназначения для Linux. Вы создали бы свое приложение как Вы, обычно будет, затем выполнить его с помощью слоя совместимости как Wine/Cedega.

0
ответ дан 2 December 2019 в 19:00
поделиться

Вино является единственным способом выполнить DirectX в Linux

0
ответ дан 2 December 2019 в 19:00
поделиться

можно скомпилировать directx приложения в Linux, но не запуск его немедленно. если Вы используете crosscompilator, который делает окна exe и точку к окнам sdk и directx sdk.

0
ответ дан 2 December 2019 в 19:00
поделиться
Другие вопросы по тегам:

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