은 그것을 개발하는 것이 가능하 DirectX 앱 in Linux?
문제
더 많은 관심이 무엇보다,그러나 당신이 컴파일 DirectX 응용 프로그램 linux?
분명히 있어 공식적인 SDK,하지만 난다고 생각하고 있었으로 가능한 와인이다.
아마도 포도주가의 구현 DirectX 인터페이스에서 실행하기 위해 게임은?그것은 링크에 대하여는?(편집:이라 winelib)
실패는,어쩌면 mingw 크로스 컴파일러와 함께 실행되는 응용 프로그램에서 와인입니다.
반 응답 내 자신의 질문에 여기에,그러나 궁금하다면 누군가는 들어 이 같은 아무것도 되는가?
해결책
나는 몇 가지 운이다.나는 관리 컴파일할 이 간단한 예 Direct3D.
내가 사용하는 winelib 이(wine-dev 패키지에서 Ubuntu).감사 알라 지하 winelib.
나는 수정의 원본은 약간 변환 wchars 하는 문자(1 라인에 52,2 라인에서 55 분 L 기 전에 문자열).방법이 있을 수 있습니다 이지만,이 가지고 그것을 실행합니다.
나는 그때 컴파일된 소스로 다음과 같다:
wineg++ -ld3d9 -ld3dx9 triangle.cpp
이를 생성합니다.니다.exe.그래서 이진뿐만 아니라,니다.스크립트를 실행 그것은 와인에서.
다른 팁
되지 않은 경우 포팅하는 방법에 대한 자세한 내지만,당신은 정말 고려 OpenGL 로 이 API 는으로 강력한 DirectX 고 훨씬 더 쉽 포트 Mac 또는 리눅스.
나는 알 수 없는 요구 사항 그래서 더 나은 그것을 언급.
할 수 없습니다크 와인으로 그것은 본질적으로 호출 interdictor/번역보다는 설정의 라이브러리를 연결할 수 있습니다.면 리눅스는 중요한 이동 OpenGL/SDL/일된.
내가 믿고(나는 결코이)할 수 있습할 수 있는 컴파일 리눅스 binarys 에 대한 winelib.그래서 그것처럼 작동합 리눅스는 실행하지만,윈도우 라이브러리입니다.
디렉토리로 이동하여 근원 유형:
winemaker --lower-uppercase -icomdlg32 -ishell32 -ishlwapi -iuser32 -igdi32 -iadvapi32 -ld3d9 .
make
wine yourexecutable.exe.so
는 경우 이 오류가 발생할 수 있습니다.
main.c:95:5: error: ‘struct IDirect3D9’ has no member named ‘CreateDevice’
이 있는지 확인할 수 있는 파일 main.cpp 지 않습니다.c.
방법은 현재 없습니다를 컴파일하 DirectX 코드를 직접 대상으로 리눅스.을 구축 응용 프로그램처럼 당신은 일반적으로,그 다음 그것을 실행하여 호환성층과 같은 포도주/Cedega.
와인 는 유일한 방법을 실행 DirectX 에서 리눅스
컴파일할 수 있습니다 directx 앱에서 리눅스,하지만 그것을 실행합니다.를 사용하는 경우 crosscompilator 만드는 윈도우 토런 점 windows sdk 및 directx sdk.