簡體   English   中英

Cygwin中使用Eclipse的FLTK(鏈接錯誤)

[英]FLTK in Cygwin using Eclipse (Linking errors)

我有此作業,因為這需要使用FLTK。 該代碼已提供給我們,應該立即進行編譯,但是我遇到了鏈接錯誤,並且不知道需要添加哪些其他庫。

我目前有(-l)包含“ opengl32”,“ fltk_gl”,“ glu32”和“ fltk”,它們似乎都減少了錯誤的數量。 我使用沒有指定選項的make編譯了FLTK。 包括所有產生的庫文件並不能解決問題,並且我確信這只是某些Windows特定的問題。

編譯日志:

**** Build of configuration Debug for project CG5 ****

make all 
Building target: CG5.exe
Invoking: Cygwin C++ Linker
g++  -o"CG5.exe"  ./src/draw_routines.o ./src/gl_window.o ./src/my_shapes.o ./src/shape.o ./src/shapes_ui.o ./src/tesselation.o   -lopengl32 -lfltk_z -lfltk_gl -lglu32 -lfltk
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../libfltk_gl.a(Fl_Gl_Window.o):Fl_Gl_Window.cxx:(.text+0x197): undefined reference to `_SelectPalette@12'
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../libfltk_gl.a(Fl_Gl_Window.o):Fl_Gl_Window.cxx:(.text+0x1a7): undefined reference to `_RealizePalette@4'
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../libfltk_gl.a(Fl_Gl_Window.o):Fl_Gl_Window.cxx:(.text+0x1fe): undefined reference to `_glDrawBuffer@4'
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../libfltk_gl.a(Fl_Gl_Window.o):Fl_Gl_Window.cxx:(.text+0x20d): undefined reference to `_glReadBuffer@4'
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../libfltk_gl.a(Fl_Gl_Window.o):Fl_Gl_Window.cxx:(.text+0x23a): undefined reference to `_glGetIntegerv@8'
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../libfltk_gl.a(Fl_Gl_Window.o):Fl_Gl_Window.cxx:(.text+0x2c3): undefined reference to `_glOrtho@48'
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../libfltk_gl.a(Fl_Gl_Window.o):Fl_Gl_Window.cxx:(.text+0x2f3): undefined reference to `_SwapBuffers@4'
...and lots more

非常感謝您的幫助。

編輯:這些前幾行顯然與OpenGL有關,盡管我仍然不確定需要包括哪些其他庫。

只是一個猜測:您的makefile是為Linux編寫的,而在Cygwin上,某些庫要么丟失,要么在其他地方。 您將必須檢查makefile,找到丟失的庫,然后將庫移動到makefile期望它們的位置,或者將makefile更改為正確的位置。

它所需的庫在以g++開頭的行上列出(在-l標志后的名稱前加“ lib”)

抱歉,缺少閉包功能,但我只是啟動了Linux上網本並使其正常運行。

-lfltk -lfltk_gl -lGLU -lGL -lXext -lX11 -lm

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM