[ Buffy @ 18.09.2005. 17:27 ] @
Imam probleme prilikom linkovanja fltk i glut aplikacija u linux-u.
Logovi:
FLTK2 aplikacija:
Code:

--------------------Configuration: test - Linux Debug--------------------
Linking...
/usr/local/lib/libfltk.a(run.o)(.text+0x15eb): In function `open_stylus_device(_XDeviceInfo*, int, int)':
: undefined reference to `XOpenDevice'
/usr/local/lib/libfltk.a(run.o)(.text+0x1693): In function `open_stylus_device(_XDeviceInfo*, int, int)':
: undefined reference to `XSelectExtensionEvent'
/usr/local/lib/libfltk.a(run.o)(.text+0x1902): In function `fltk::enable_tablet_events()':
: undefined reference to `XGetExtensionVersion'
/usr/local/lib/libfltk.a(run.o)(.text+0x193a): In function `fltk::enable_tablet_events()':
: undefined reference to `XListInputDevices'
/usr/local/lib/libfltk.a(run.o)(.text+0x19b6): In function `fltk::enable_tablet_events()':
: undefined reference to `XFreeDeviceList'
collect2: ld returned 1 exit status

test - 5 error(s), 0 warning(s)

GLUT aplikacija:
Code:

--------------------Configuration: glut1 - Linux Debug--------------------
Linking...
../../../../../usr/X11/lib/libglut.so: undefined reference to `glXBindChannelToWindowSGIX'
../../../../../usr/X11/lib/libglut.so: undefined reference to `glXCreateContextWithConfigSGIX'
../../../../../usr/X11/lib/libglut.so: undefined reference to `glXGetFBConfigAttribSGIX'
../../../../../usr/X11/lib/libglut.so: undefined reference to `glXQueryChannelDeltasSGIX'
../../../../../usr/X11/lib/libglut.so: undefined reference to `glXChannelRectSyncSGIX'
../../../../../usr/X11/lib/libglut.so: undefined reference to `glXChannelRectSGIX'
../../../../../usr/X11/lib/libglut.so: undefined reference to `glXQueryChannelRectSGIX'
../../../../../usr/X11/lib/libglut.so: undefined reference to `glXGetFBConfigFromVisualSGIX'
collect2: ld returned 1 exit status

glut1 - 8 error(s), 0 warning(s)

za FLTK aplikaciju koristim sledece biblioteke: -lfltk -lXext -lXinerama -lXft -lX11 -lm
GLUT: -lGL -lGLU -lglut

Koje biblioteke ne dostaju??? :(



[Ovu poruku je menjao Buffy dana 18.09.2005. u 18:27 GMT+1]
[ danio @ 18.09.2005. 22:10 ] @
Pokazi Makefile ako ga koristis.
[ Buffy @ 19.09.2005. 09:18 ] @
Evo makefile-a od glut aplikacije:
Code:

#################################################################
## This Makefile Exported by MinGW Developer Studio
## Copyright (c) 2005 by Parinya Thipchart
#################################################################

ifneq (,$(findstring Release, $(CFG)))
  override CFG = Release
else
  override CFG = Debug
endif

PROJECT = glut1
CC = "/usr/bin/g++"

ifeq ($(CFG),Debug)
  OBJ_DIR = Debug
  OUTPUT_DIR = Debug
  TARGET = glut1
  C_INCLUDE_DIRS = -I"../../../../../usr/X11/include" 
  C_PREPROC = 
  CFLAGS = -pipe  -Wall -g2 -O0 -frtti -fexceptions 
  LIB_DIRS = -L"../../../../../usr/X11R6/lib" -L"../../../../../usr/local/lib" -L"../../../../../usr/lib" 
  LIBS = 
  LDFLAGS = -pipe -lGL -lGLU -lglut -lXrender
endif

ifeq ($(CFG),Release)
  OBJ_DIR = Release
  OUTPUT_DIR = Release
  TARGET = glut1
  C_INCLUDE_DIRS = -I"../../../../../usr/X11/include" 
  C_PREPROC = 
  CFLAGS = -pipe  -Wall -g0 -O2 -frtti -fexceptions 
  LIB_DIRS = -L"../../../../../usr/local/lib" -L"../../../../../usr/lib" 
  LIBS = 
  LDFLAGS = -pipe -s 
endif

SRC_OBJS = \
  $(OBJ_DIR)/main.o


define build_target
@echo Linking...
@$(CC) -o "$(OUTPUT_DIR)/$(TARGET)" $(SRC_OBJS) $(LIB_DIRS) $(LIBS) $(LDFLAGS)
endef

define compile_source
@echo Compiling $<
@$(CC) $(CFLAGS) $(C_PREPROC) $(C_INCLUDE_DIRS) -c "$<" -o "$@"
endef

.PHONY: print_header directories

$(TARGET): print_header directories $(SRC_OBJS)
    $(build_target)

.PHONY: clean cleanall

cleanall:
    @echo Deleting intermediate files for 'glut1 - $(CFG)'
    -@rm -rf "$(OBJ_DIR)"
    -@rm -rf "$(OUTPUT_DIR)/$(TARGET)"
    -@rmdir "$(OUTPUT_DIR)"

clean:
    @echo Deleting intermediate files for 'glut1 - $(CFG)'
    -@rm -rf "$(OBJ_DIR)"

print_header:
    @echo ----------Configuration: glut1 - Linux $(CFG)----------

directories:
    -@if [ ! -d "$(OUTPUT_DIR)" ]; then mkdir "$(OUTPUT_DIR)"; fi
    -@if [ ! -d "$(OBJ_DIR)" ]; then mkdir "$(OBJ_DIR)"; fi

$(OBJ_DIR)/main.o: main.cpp

    $(compile_source)

Inace koristim minGW developer studio.
Ali nije problem u makefile-u vec kao sto logovi govore problem je sto ne dostaju pojedine biblioteka.Mene zanima koje?U FLTK dokumentaciji pise da su mi potrebne gore navedene biblioteke, ali linker javlja da nema referenci na 5 funkcija, dakle ne dostaju neke biblioteke!
Pozdrav!





[Ovu poruku je menjao Buffy dana 19.09.2005. u 10:19 GMT+1]
[ danio @ 19.09.2005. 12:20 ] @
Ali ja ovdje vidim samo:
Citat:

-pipe -lGL -lGLU -lglut -lXrender


Trebao bi biti jos najmanje -lX11 i nsiam siguran sto jos.
[ ŠargarepaMen @ 19.09.2005. 14:09 ] @
Hm, nije mi jasno, zbog čega X11 u windowsu? Tačnije, otkud? Ne znam mnogo o gnu alatima za win32 platforme, ali mi deluje nekako... šašavo...
[ danio @ 19.09.2005. 20:17 ] @
Citat:
ŠargarepaMen: Hm, nije mi jasno, zbog čega X11 u windowsu? Tačnije, otkud? Ne znam mnogo o gnu alatima za win32 platforme, ali mi deluje nekako... šašavo...


Ni meni nije jasno sto tebi nije jasno, zato sto na pocetku prve poruke pise da e radi o Linuxu...
[ ŠargarepaMen @ 19.09.2005. 21:24 ] @
Ah, da moja greška... Molim za oproštaj...
Ali mi sada nije jasan ovaj deo:
Citat:

Inace koristim minGW developer studio.

Zar nije minGW za win? Kako onda u Linux-u?
[ danio @ 19.09.2005. 22:14 ] @
Fakat. Mozda zato ima problema sa Linuxom, jer inace pise u windowsu.

Usput, MinGW radi pod linuxom i koristi se za "cross-compiling", dakle kompiliranje windows aplikacija pod linuxom.
[ Buffy @ 20.09.2005. 11:32 ] @
Citat:
danio: Fakat. Mozda zato ima problema sa Linuxom, jer inace pise u windowsu.

Usput, MinGW radi pod linuxom i koristi se za "cross-compiling", dakle kompiliranje windows aplikacija pod linuxom.

Sa ovim studiom mozes kompajlirati i win i lin app u linux-u.
Code:

new project->target->[windows,linux]

Nije problem u tome, posto se lijepo vidi da ne dostaju neke biblioteke.
Ovo bi mogao da zna Leka, ali njega izgleda nema :(.
Pozdrav
[ dakako @ 20.09.2005. 12:15 ] @
---------------------------------
Yahoo! for Good
Click here to donate to the Hurricane Katrina relief effort.
--0-720786687-1127214883=:77223
Content-Type: text/html; charset=iso-8859-1
Content-Transfer-Encoding: 8bit

<DIV><BR><BR><B><I>Buffy &lt;[email protected]&gt;</I></B> wrote:
<BLOCKQUOTE class=replbq style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #1010ff 2px solid">&gt; *danio*:&nbsp;Fakat. Mozda zato ima problema sa Linuxom, jer inace pise u windowsu.<BR>&gt; <BR>&gt; Usput, MinGW radi pod linuxom i koristi se za "cross-compiling", dakle kompiliranje windows aplikacija pod linuxom.<BR>Sa ovim studiom mozes kompajlirati i win i lin app u linux-u.<BR>
Code:
<BR>new project-&gt;target-&gt;[windows,linux]<BR>
<BR>Nije problem u tome, posto se lijepo vidi da ne dostaju neke biblioteke.<BR>Ovo bi mogao da zna Leka, ali njega izgleda nema :(.<BR>Pozdrav<BR><BR>--Molio bih da mi kazes koji je moj nadimak na koji odgovaras, jer koristim mnoge na ovom sajtu<BR>http://www.elitesecurity.org/p...R><BR>Prijave/odjave: http://www.elitesecurity.org/liste<BR><BR>Ne menjajte sledece dve linije ukoliko odgovarate putem emaila!<BR>esauth:135944:a126faddc6955efd36a610a6b9a3a926<BR>Odgovor pisite *iskljucivo* ispod ove
linije:<BR></BLOCKQUOTE></DIV><p>
<hr size=1>Yahoo! for Good<br>
<a href="http://store.yahoo.com/redcross-donate3/">Click here to donate</a> to the Hurricane Katrina relief effort.

--0-720786687-1127214883=:77223--
[ danio @ 20.09.2005. 13:40 ] @
Kao sto sam vec govorio, XOpenDevice je iz biblioteke libX11 i makar je ona nabrojana u provoj poruci, nema je u Makefile'u. Jeli sigurno da sve biblioteke nabrojane u prvoj poruci kompajler uzima kod linkovanja? Provjeri to...
[ Buffy @ 20.09.2005. 22:34 ] @
Uspio sam da linkujem fltk aplikaciju.
Biblioteke:
Code:

-lfltk -lXext -lXinerama -lXft -lX11 -lm -lXi

Dakle dodao sam jos libXi biblioteku.
Jos mi je samo ostalo glut.
Nadam se da cu i to brzo :)
[ leka @ 21.09.2005. 18:43 ] @
Laicki predlog:
Code:

g++ -c my_gui.cpp `fltk-config --cxxflags`
gcc -o my_gui my_gui.o `fltk-config --ldflags`

Prva linija ce, naravno, samo iskompajlirati my_gui.cpp, generisati objekt-fajl, a druga linija ce linkati sve u program "my_gui" ...

Jos lakse, ali samo u slucaju da covek ima samo jedan C++ fajl:
Code:

fltk-config --compile my_gui.cpp


Sto se OpenGL-a tice jedna napomena - FLTK se mora kompajlirati sa --enable-opengl ako covek zeli OpenGL podrsku...
[ Buffy @ 21.09.2005. 19:13 ] @
Hvala Dejane.
Pokusacu...