Kirjoittaja Aihe: c++ GTK ja uusi tietokone [wanha, korjattu]  (Luettu 2027 kertaa)

pulis

  • Käyttäjä
  • Viestejä: 242
    • Profiili
c++ GTK ja uusi tietokone [wanha, korjattu]
« : 13.01.09 - klo:22.27 »
noniin toivottavasti täällä suomessa on muita ubuntukoodareita kuin minä.
nyt on alla uusi tietokone ja pitäisi kääntää ihan simppeli GTK+2.0 ohjelma, joka on siis C++ tehty

tällain kun includean
Koodia: [Valitse]
#include <gtk/gtk.h>

main.cpp:1:21: error: gtk/gtk.h: Tiedostoa tai hakemistoa ei ole
on tulos.
Koodia: [Valitse]
#include <gtk-2.0/gtk/gtk.h>

In file included from main.cpp:1:
/usr/include/gtk-2.0/gtk/gtk.h:32:21: error: gdk/gdk.h: Tiedostoa tai hakemistoa ei ole
/usr/include/gtk-2.0/gtk/gtk.h:33:32: error: gtk/gtkaboutdialog.h: Tiedostoa tai hakemistoa ei ole
/usr/include/gtk-2.0/gtk/gtk.h:34:31: error: gtk/gtkaccelgroup.h: Tiedostoa tai hakemistoa ei ole
/usr/include/gtk-2.0/gtk/gtk.h:35:31: error: gtk/gtkaccellabel.h: Tiedostoa tai hakemistoa ei ole
/usr/include/gtk-2.0/gtk/gtk.h:36:29: error: gtk/gtkaccelmap.h: Tiedostoa tai hakemistoa ei ole
/usr/include/gtk-2.0/gtk/gtk.h:37:31: error: gtk/gtkaccessible.h: Tiedostoa tai hakemistoa ei ole
/usr/include/gtk-2.0/gtk/gtk.h:38:27: error: gtk/gtkaction.h: Tiedostoa tai hakemistoa ei ole
/usr/include/gtk-2.0/gtk/gtk.h:39:32: error: gtk/gtkactiongroup.h: Tiedostoa tai hakemistoa ei ole
/usr/include/gtk-2.0/gtk/gtk.h:40:31: error: gtk/gtkadjustment.h: Tiedostoa tai hakemistoa ei ole

.......... näitä rivejä sitten riittää vaikka kuinkapaljon

ja tuo gtk.h on kansiossa..
Koodia: [Valitse]
locate gtk.h

/usr/include/gtk-1.2/gtk/gtk.h
/usr/include/gtk-2.0/gtk/gtk.h
/usr/share/doc/libgtk2.0-doc/gtk/gtk.html

omasta mielestä on kaikki tärkeät -dev pakit asennettuna....... mikä kumma voi olla vikana?
« Viimeksi muokattu: 13.01.09 - klo:22.49 kirjoittanut pulis »

pulis

  • Käyttäjä
  • Viestejä: 242
    • Profiili
Vs: c++ GTK ja uusi tietokone
« Vastaus #1 : 13.01.09 - klo:22.48 »
äh .. pieniä Makefile ongelmia .. älkää välittäkö tästä viestistä.

jlahtonen

  • Käyttäjä
  • Viestejä: 4
    • Profiili
Vs: c++ GTK ja uusi tietokone
« Vastaus #2 : 01.07.09 - klo:16.11 »
äh .. pieniä Makefile ongelmia .. älkää välittäkö tästä viestistä.
Olisit nyt ihmeessä kertonut, mikä oli pielessä. Minä pähkäilen samanlaisen ongelman parissa.

-Juha

EDIT:

Selvennetäämpä hieman. Yritän kirjoittaa pientä ohjelmaa käyttäen gtkmm-2.4:ää. Jos annan komentorivillä komennon
Koodia: [Valitse]
g++ -Wall `pkg-config --cflags --libs gtkmm-2.4` main.cpp -o test

niin ohjelmani kääntyy ja toimii. Jos taas yritän käyttää make:a oheisen makefilen kanssa
Koodia: [Valitse]
#------------------------------------------------------------------------------
# Macros
#------------------------------------------------------------------------------

# Output file
APPLICATION= test

# Required commands
COMPILE = g++
LINK    = ld
REMOVE  = rm

# Compiler, linker and remover flags
# NOTE: Use backticks instead of single quotes
CINCLUDE = `pkg-config --cflags gtkmm-2.4`
LINCLUDE = `pkg-config --libs gtkmm-2.4`
CFLAGS   = -Wall $(CINCLUDE)
LFLAGS   = -lm $(LINCLUDE)
RFLAGS   = -f

# Source that includes function main()
MAIN = main.cpp

# List of all header files
HEADERS =

# List of all implementation files
SOURCES =

# Macro for list of all produced object files
MAINOBJECT = $(MAIN:.cpp=.o)
OBJECTS    = $(SOURCES:.cpp=.o)

#------------------------------------------------------------------------------
# Targets and dependencies
#------------------------------------------------------------------------------

# Default target (builds application)
default: $(APPLICATION)

Main.o: $(MAIN)
$(COMPILE) $(CFLAGS) $(MAIN) -o $(MAINOBJECT)

# Executable
$(APPLICATION): $(MAINOBJECT) $(OBJECTS)
$(COMPILE) $(LFLAGS) $(MAINOBJECT) $(OBJECTS) -o $@

# Cleaning object files
clean:
$(REMOVE) $(RFLAGS) $(MAINOBJECT) $(OBJECTS) $(APPLICATION)

# Rebuilds all
all: clean default

on lopputuloksena virheilmoitus
Koodia: [Valitse]
g++    -c -o main.o main.cpp
main.cpp:1:19: error: gtkmm.h: No such file or directory
Näyttäisi siltä, että nuo käyttämäni parametrit ja pkg-config eivät päädy ollenkaan tuonne kääntäjälle asti.
« Viimeksi muokattu: 01.07.09 - klo:16.27 kirjoittanut jlahtonen »

jlahtonen

  • Käyttäjä
  • Viestejä: 4
    • Profiili
Vs: c++ GTK ja uusi tietokone [wanha, korjattu]
« Vastaus #3 : 02.07.09 - klo:12.04 »
Keksimpäs itse lopulta tuosta sen virheen kun sitä oikein kauan tuijotin :P

Tuossa makefile:ssä on määritelty targetti 'Main.o' vaikka sitä vastaava source on 'main.cpp' pienellä alkukirjaimella. Kun vaihdoin sen targetin nimeksi main.o, niin softa kääntyy nätisti. Tuonkin keksimiseen meni taas kaksi päivää  ;D

-Juha