2012-02-17 20 views
3

私はプロジェクトでGLFWを使用しようとしていますが、コンパイルすると多くの未定義参照エラーが発生しますが、その多くはライブラリファイル(libglfw.a)にあります。 私は両方を試み、ライブラリをコンパイルしてダウンロードしましたが、成功しませんでした。 私はMinGWとMSYSを使用しています。Windows 7では32ビットのnetbeansを実行しています。 GLFWのバージョンは2.7.3です。GLFW定義されていない参照

これらはエラーです:

"/usr/bin/make" -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS= .build-conf 
make[1]: Entering directory `/c/Users/Raphael/Documents/NetBeansProjects/Prism' 
"/usr/bin/make" -f nbproject/Makefile-Debug.mk dist/Debug/MinGW-Windows/prism.exe 
make[2]: Entering directory `/c/Users/Raphael/Documents/NetBeansProjects/Prism' 
mkdir -p build/Debug/MinGW-Windows 
rm -f build/Debug/MinGW-Windows/main.o.d 
g++.exe -c -g -MMD -MP -MF build/Debug/MinGW-Windows/main.o.d -o build/Debug/MinGW-Windows/main.o main.cpp 
mkdir -p dist/Debug/MinGW-Windows 
g++.exe  -o dist/Debug/MinGW-Windows/prism build/Debug/MinGW-Windows/main.o build/Debug/MinGW-Windows/ByteBuffer.o -Lexternal -lglfw 
build/Debug/MinGW-Windows/main.o: In function `main': 
C:\Users\Raphael\Documents\NetBeansProjects\Prism/main.cpp:35: undefined reference to `[email protected]' 
C:\Users\Raphael\Documents\NetBeansProjects\Prism/main.cpp:36: undefined reference to `[email protected]' 
build/Debug/MinGW-Windows/main.o: In function `Z6renderv': 
C:\Users\Raphael\Documents\NetBeansProjects\Prism/main.cpp:56: undefined reference to `[email protected]' 
C:\Users\Raphael\Documents\NetBeansProjects\Prism/main.cpp:57: undefined reference to `[email protected]' 
c:/mingw/bin/../lib/gcc/mingw32/4.6.1/../../../libglfw.a(window.o):window.c:(.text+0x8ae): undefined reference to `[email protected]' 
c:/mingw/bin/../lib/gcc/mingw32/4.6.1/../../../libglfw.a(win32_window.o):win32_window.c:(.text+0xe54): undefined reference to `[email protected]' 
c:/mingw/bin/../lib/gcc/mingw32/4.6.1/../../../libglfw.a(win32_window.o):win32_window.c:(.text+0xe6c): undefined reference to `[email protected]' 
c:/mingw/bin/../lib/gcc/mingw32/4.6.1/../../../libglfw.a(win32_window.o):win32_window.c:(.text+0xef6): undefined reference to `[email protected]' 
c:/mingw/bin/../lib/gcc/mingw32/4.6.1/../../../libglfw.a(win32_window.o):win32_window.c:(.text+0xf4f): undefined reference to `[email protected]' 
c:/mingw/bin/../lib/gcc/mingw32/4.6.1/../../../libglfw.a(win32_window.o):win32_window.c:(.text+0xf7f): undefined reference to `[email protected]' 
c:/mingw/bin/../lib/gcc/mingw32/4.6.1/../../../libglfw.a(win32_window.o):win32_window.c:(.text+0x174c): undefined reference to `[email protected]' 
c:/mingw/bin/../lib/gcc/mingw32/4.6.1/../../../libglfw.a(win32_window.o):win32_window.c:(.text+0x1935): undefined reference to `[email protected]' 
c:/mingw/bin/../lib/gcc/mingw32/4.6.1/../../../libglfw.a(win32_window.o):win32_window.c:(.text+0x19fe): undefined reference to `[email protected]' 
c:/mingw/bin/../lib/gcc/mingw32/4.6.1/../../../libglfw.a(win32_window.o):win32_window.c:(.text+0x1a0e): undefined reference to `wglD[email protected]' 
c:/mingw/bin/../lib/gcc/mingw32/4.6.1/../../../libglfw.a(win32_window.o):win32_window.c:(.text+0x1ea6): undefined reference to `[email protected]' 
c:/mingw/bin/../lib/gcc/mingw32/4.6.1/../../../libglfw.a(win32_window.o):win32_window.c:(.text+0x1ebc): undefined reference to `[email protected]' 
c:/mingw/bin/../lib/gcc/mingw32/4.6.1/../../../libglfw.a(win32_window.o):win32_window.c:(.text+0x1ed8): undefined reference to `[email protected]' 
c:/mingw/bin/../lib/gcc/mingw32/4.6.1/../../../libglfw.a(win32_window.o):win32_window.c:(.text+0x1ee7): undefined reference to `[email protected]' 
c:/mingw/bin/../lib/gcc/mingw32/4.6.1/../../../libglfw.a(win32_window.o):win32_window.c:(.text+0x1f1a): undefined reference to `[email protected]' 
c:/mingw/bin/../lib/gcc/mingw32/4.6.1/../../../libglfw.a(glext.o):glext.c:(.text+0x1a): undefined reference to `[email protected]' 
c:/mingw/bin/../lib/gcc/mingw32/4.6.1/../../../libglfw.a(glext.o):glext.c:(.text+0x1bf): undefined reference to `[email protected]' 
c:/mingw/bin/../lib/gcc/mingw32/4.6.1/../../../libglfw.a(glext.o):glext.c:(.text+0x1ef): undefined reference to `[email protected]' 
c:/mingw/bin/../lib/gcc/mingw32/4.6.1/../../../libglfw.a(glext.o):glext.c:(.text+0x28b): undefined reference to `[email protected]' 
c:/mingw/bin/../lib/gcc/mingw32/4.6.1/../../../libglfw.a(glext.o):glext.c:(.text+0x2cf): undefined reference to `[email protected]' 
c:/mingw/bin/../lib/gcc/mingw32/4.6.1/../../../libglfw.a(win32_glext.o):win32_glext.c:(.text+0x7d): undefined reference to `[email protected][2]: Leaving directory `/c/Users/Raphael/Documents/NetBeansProjects/Prism' 
make[1]: Leaving directory `/c/Users/Raphael/Documents/NetBeansProjects/Prism' 
' 
collect2: ld returned 1 exit status 
make[2]: *** [dist/Debug/MinGW-Windows/prism.exe] Error 1 
make[1]: *** [.build-conf] Error 2 
make: *** [.build-impl] Error 2 

CONSTRUIR FALHOU (valor da saída 2, tempo total: 1s) 
+0

@ildjarn私はそれが問題ではないと思います –

+3

OpenGLライブラリもリンクする必要はありませんか?私は 'libGL'や' libGLU'を見ません。 'glClear'は' libGL'か 'libGLU'のどちらかにあります。私は95%がこれが問題だと確信しているので答えとして掲示されます... – JimR

答えて

10

はあなたにもOpenGLのLIBSをリンクする必要はないのですか? libGLまたはlibGLUは表示されません。私はglClearlibGLまたはlibGLUのいずれかであることを知っています。 Windowsの、MinGWのでリンカで

+7

これは答えとして受け入れられました。 – Ludwik

6

、:-lglew32 -lglfw3 -lopengl32 -lglu32 -lgdi32

LIBSを入れて、MinGWの内のファイルとWindowsシステムフォルダにあるDLLとEXEファイルが含まれています。

5

私の場合、問題は異なっていました。私はopengl32をリンクしていましたが、まだエラーが発生しています。ライブラリの注文であることが判明しました。glfwは、の前に opengl32の前にリンクされていなければなりません。

私の場合、これはCode :: Blocks IDEの "Link libraries"リストボックスにありましたが、NetBeansやコマンドラインでも同様です。

関連する問題