데비안에 GLFW3 및 Derelict3 설치
Debian이라고 Derelict3도 GLFW3도 패키지가 아직 없기 때문에 자전으로 넣는다.
추기(4/20):libglfw3 들어간 것 같습니다.
htps : // 팹 c 게이 s. 데비안. 오 rg / 응 sta b ぇ / mian / ぃ bglfw3
GLFW3 설치
CMakeLists.txt의 BUILD_SHARED_LIBS를 켭니다.
BUILD_SHARED_LIBS가 OFF인 채로 정적 라이브러리 밖에 만들 수 없지만, Derelict는 libglfw3.so를 동적으로 링크하려고 하기 때문에 런타임에 이끼.
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 743e72d..1c4498c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -10,7 +10,7 @@ set(GLFW_VERSION "${GLFW_VERSION_MAJOR}.${GLFW_VERSION_MINOR}")
set(GLFW_VERSION_FULL "${GLFW_VERSION}.${GLFW_VERSION_PATCH}${GLFW_VERSION_EXTRA}")
set(LIB_SUFFIX "" CACHE STRING "Takes an empty string or 64. Directory where lib will be installed: lib or lib64")
-option(BUILD_SHARED_LIBS "Build shared libraries" OFF)
+option(BUILD_SHARED_LIBS "Build shared libraries" ON)
option(GLFW_BUILD_EXAMPLES "Build the GLFW example programs" ON)
option(GLFW_BUILD_TESTS "Build the GLFW test programs" ON)
option(GLFW_BUILD_DOCS "Build the GLFW documentation" ON)
빌드
$ git clone https://github.com/glfw/glfw.git
$ cd glfw
$ cmake .
$ make
$ sudo make install
cmake 때 RandR이 없어서 화가 나서$ sudo aptitude install libxrandr-dev
했다.
Derelict3 빌드
데비안에는 dmd 패키지가 없으므로 ldc(ldmd2)로 빌드한다.
$ git clone https://github.com/aldacron/Derelict3.git
$ cd Derelict3/build
$ ldmd2 build.d
$ ./build Util GL3 GLFW3
패키지는
Derelict3/import
도서관은
Derelict3/lib/ldc
에 각각 만들어진다.
htps : // 기주 b. 코 m / 아 l다 c 롱 / 데레 ct3
README에는 특히 특정의 디렉토리에의 인스톨 방법등은 기재되어 있지 않았으므로, 이번은 위의 디렉토리를 Makefile에 직접 지정하기로 한다.
테스트 코드 작성
h tp // w w. glfw. rg / cs / 3.0 / ku ck. HTML
여기를 참고로.
에러 처리 등은 이번에는 생략
openwindow.dimport derelict.opengl3.gl;
import derelict.opengl3.gl3;
import derelict.glfw3.glfw3;
import std.stdio;
void main() {
DerelictGL.load();
DerelictGLFW3.load();
glfwInit();
auto window = glfwCreateWindow(800, 600, "Hello, GLFW3!", null, null);
glfwMakeContextCurrent(window);
while(!glfwWindowShouldClose(window)){
int width, height;
glfwGetFramebufferSize(window, &width, &height);
immutable ratio = width / cast(float) height;
glViewport(0, 0, width, height);
glClear(GL_COLOR_BUFFER_BIT);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-ratio, ratio, -1., 1., 1., -1.);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glRotatef(cast(float) glfwGetTime() * 50., 0., 0., 1.);
glBegin(GL_TRIANGLES);
glColor3f(1., 0., 0.);
glVertex3f(-0.6, -0.4, 0.);
glColor3f(0., 1., 0.);
glVertex3f(0.6, -0.4, 0.);
glColor3f(0., 0., 1.);
glVertex3f(0., 0.6, 0.);
glEnd();
glfwSwapBuffers(window);
glfwPollEvents();
}
glfwDestroyWindow(window);
glfwTerminate();
}
아래 Makefile
코드내에 pragma(lib, "DerelictGL3");
라고 쓰면 본래는 -L-lDerelictGL3
MakefileP:=openwindow
DC:=ldmd2
SRCS:=openwindow.d
INCLUDES:=$(HOME)/work/Derelict3/import/
LIBS:=-L-L$(HOME)/work/Derelict3/lib/ldc/ -L-lDerelictGL3 -L-lDerelictGLFW3 -L-lDerelictUtil
$(P): $(SRCS)
$(DC) -of$(P) -I$(INCLUDES) $(LIBS) $(SRCS)
clean:
-rm -f openwindow.o openwindow
.PHONY: clean
출력은 이런 느낌. 삼각형이 빙글빙글 돌다.
Reference
이 문제에 관하여(데비안에 GLFW3 및 Derelict3 설치), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/maueki/items/9d1e241cdd345220fc1b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 743e72d..1c4498c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -10,7 +10,7 @@ set(GLFW_VERSION "${GLFW_VERSION_MAJOR}.${GLFW_VERSION_MINOR}")
set(GLFW_VERSION_FULL "${GLFW_VERSION}.${GLFW_VERSION_PATCH}${GLFW_VERSION_EXTRA}")
set(LIB_SUFFIX "" CACHE STRING "Takes an empty string or 64. Directory where lib will be installed: lib or lib64")
-option(BUILD_SHARED_LIBS "Build shared libraries" OFF)
+option(BUILD_SHARED_LIBS "Build shared libraries" ON)
option(GLFW_BUILD_EXAMPLES "Build the GLFW example programs" ON)
option(GLFW_BUILD_TESTS "Build the GLFW test programs" ON)
option(GLFW_BUILD_DOCS "Build the GLFW documentation" ON)
$ git clone https://github.com/glfw/glfw.git
$ cd glfw
$ cmake .
$ make
$ sudo make install
데비안에는 dmd 패키지가 없으므로 ldc(ldmd2)로 빌드한다.
$ git clone https://github.com/aldacron/Derelict3.git
$ cd Derelict3/build
$ ldmd2 build.d
$ ./build Util GL3 GLFW3
패키지는
Derelict3/import
도서관은
Derelict3/lib/ldc
에 각각 만들어진다.
htps : // 기주 b. 코 m / 아 l다 c 롱 / 데레 ct3
README에는 특히 특정의 디렉토리에의 인스톨 방법등은 기재되어 있지 않았으므로, 이번은 위의 디렉토리를 Makefile에 직접 지정하기로 한다.
테스트 코드 작성
h tp // w w. glfw. rg / cs / 3.0 / ku ck. HTML
여기를 참고로.
에러 처리 등은 이번에는 생략
openwindow.dimport derelict.opengl3.gl;
import derelict.opengl3.gl3;
import derelict.glfw3.glfw3;
import std.stdio;
void main() {
DerelictGL.load();
DerelictGLFW3.load();
glfwInit();
auto window = glfwCreateWindow(800, 600, "Hello, GLFW3!", null, null);
glfwMakeContextCurrent(window);
while(!glfwWindowShouldClose(window)){
int width, height;
glfwGetFramebufferSize(window, &width, &height);
immutable ratio = width / cast(float) height;
glViewport(0, 0, width, height);
glClear(GL_COLOR_BUFFER_BIT);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-ratio, ratio, -1., 1., 1., -1.);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glRotatef(cast(float) glfwGetTime() * 50., 0., 0., 1.);
glBegin(GL_TRIANGLES);
glColor3f(1., 0., 0.);
glVertex3f(-0.6, -0.4, 0.);
glColor3f(0., 1., 0.);
glVertex3f(0.6, -0.4, 0.);
glColor3f(0., 0., 1.);
glVertex3f(0., 0.6, 0.);
glEnd();
glfwSwapBuffers(window);
glfwPollEvents();
}
glfwDestroyWindow(window);
glfwTerminate();
}
아래 Makefile
코드내에 pragma(lib, "DerelictGL3");
라고 쓰면 본래는 -L-lDerelictGL3
MakefileP:=openwindow
DC:=ldmd2
SRCS:=openwindow.d
INCLUDES:=$(HOME)/work/Derelict3/import/
LIBS:=-L-L$(HOME)/work/Derelict3/lib/ldc/ -L-lDerelictGL3 -L-lDerelictGLFW3 -L-lDerelictUtil
$(P): $(SRCS)
$(DC) -of$(P) -I$(INCLUDES) $(LIBS) $(SRCS)
clean:
-rm -f openwindow.o openwindow
.PHONY: clean
출력은 이런 느낌. 삼각형이 빙글빙글 돌다.
Reference
이 문제에 관하여(데비안에 GLFW3 및 Derelict3 설치), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/maueki/items/9d1e241cdd345220fc1b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
import derelict.opengl3.gl;
import derelict.opengl3.gl3;
import derelict.glfw3.glfw3;
import std.stdio;
void main() {
DerelictGL.load();
DerelictGLFW3.load();
glfwInit();
auto window = glfwCreateWindow(800, 600, "Hello, GLFW3!", null, null);
glfwMakeContextCurrent(window);
while(!glfwWindowShouldClose(window)){
int width, height;
glfwGetFramebufferSize(window, &width, &height);
immutable ratio = width / cast(float) height;
glViewport(0, 0, width, height);
glClear(GL_COLOR_BUFFER_BIT);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-ratio, ratio, -1., 1., 1., -1.);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glRotatef(cast(float) glfwGetTime() * 50., 0., 0., 1.);
glBegin(GL_TRIANGLES);
glColor3f(1., 0., 0.);
glVertex3f(-0.6, -0.4, 0.);
glColor3f(0., 1., 0.);
glVertex3f(0.6, -0.4, 0.);
glColor3f(0., 0., 1.);
glVertex3f(0., 0.6, 0.);
glEnd();
glfwSwapBuffers(window);
glfwPollEvents();
}
glfwDestroyWindow(window);
glfwTerminate();
}
P:=openwindow
DC:=ldmd2
SRCS:=openwindow.d
INCLUDES:=$(HOME)/work/Derelict3/import/
LIBS:=-L-L$(HOME)/work/Derelict3/lib/ldc/ -L-lDerelictGL3 -L-lDerelictGLFW3 -L-lDerelictUtil
$(P): $(SRCS)
$(DC) -of$(P) -I$(INCLUDES) $(LIBS) $(SRCS)
clean:
-rm -f openwindow.o openwindow
.PHONY: clean
Reference
이 문제에 관하여(데비안에 GLFW3 및 Derelict3 설치), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/maueki/items/9d1e241cdd345220fc1b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)