Re: problems with libglademm
- From: "Jonathon Jongsma" <jonathon jongsma gmail com>
- To: "Michael Ott" <michael king-coder de>
- Cc: GTKmm user list <gtkmm-list gnome org>
- Subject: Re: problems with libglademm
- Date: Wed, 20 Sep 2006 19:05:40 -0500
On 9/20/06, Michael Ott <michael king-coder de> wrote:
Hi!
I have a small problem with compiling an application using glademm.
Here is the error message:
g++ -c -pipe -Wall -W -O2 -DDEBUG `pkg-config --cflags libglade-2.0 gtkmm-2.4 gnet-2.0 libglademm-2.4` -o ampavi_server.o ampavi_server.cc
gcc -ldebugging `pkg-config --libs libglade-2.0 gtk+-2.0 gnet-2.0 gtkmm-2.4` -o ampavi_server ampavi_server.o main.o
ampavi_server.o: In function `CAmpaviServer::CAmpaviServer()':
ampavi_server.cc:(.text+0x3d2): undefined reference to `Gnome::Glade::Xml::create(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Glib::ustring const&, Glib::ustring const&)'
ampavi_server.o: In function `CAmpaviServer::CAmpaviServer()':
ampavi_server.cc:(.text+0x6f0): undefined reference to `Gnome::Glade::Xml::create(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Glib::ustring const&, Glib::ustring const&)'
ampavi_server.o:(.gcc_except_table+0xd8): undefined reference to `typeinfo for Gnome::Glade::XmlError'
ampavi_server.o:(.gcc_except_table+0x14c): undefined reference to `typeinfo for Gnome::Glade::XmlError'
collect2: ld returned 1 exit status
make: *** [ampavi_server] Error 1
I hope that anyone can help me. The glade file work in an application
written in C
Here is my source code:
main.cc:
#include <iostream>
#include "ampavi_server.h"
int main(int argc, char **argv) {
Gtk::Main kit(argc, argv);
CAmpaviServer ampavi_server;
Gtk::Main::run(ampavi_server);
return(EXIT_SUCCESS);
}
ampavi_server.h
#ifndef ___AMPAVI_SERVER_H__
#define ___AMPAVI_SERVER_H__
#include <gtkmm.h>
#include <libglademm.h>
class CAmpaviServer:public Gtk::Window {
private:
Glib::RefPtr < Gnome::Glade::Xml > xml;
int server;
public:
CAmpaviServer();
virtual ~ CAmpaviServer();
};
ampavi_server.cc:
#include <iostream>
#include <libglademm/xml.h>
#include "ampavi_server.h"
CAmpaviServer::CAmpaviServer():server(SERVER_DISCONNECT)
{
try {
xml =
Gnome::Glade::Xml::create("ampavi_server.xml",
"ampavi_server_window", NULL);
}
catch(const Gnome::Glade::XmlError & ex) {
std::cerr << ex.what() << std::endl;
return;
}
}
CAmpaviServer::~CAmpaviServer()
{
return;
}
Makefile:
CC = gcc
CXX = g++
CFLAGS = -pipe -Wall -W -O2 -DDEBUG `pkg-config --cflags libglade-2.0 gtk+-2.0 gnet-2.0`
CXXFLAGS= -pipe -Wall -W -O2 -DDEBUG `pkg-config --cflags libglade-2.0 gtkmm-2.4 gnet-2.0 libglademm-2.4`
LINK = gcc
LFLAGS = `pkg-config --libs libglade-2.0 gtk+-2.0 gnet-2.0 gtkmm-2.4`
TAR = tar -cf
GZIP = gzip -9f
# Files gnet
HEADERS = ampavi_server.h
SOURCES = ampavi_server.cc main.cc
OBJECTS = ampavi_server.o main.o
INTERFACES =
DIST =
TARGET = ampavi_server
INTERFACE_DECL_PATH = .
# Implicit rules
.SUFFIXES: .cpp .cxx .cc .C .c
.cpp.o:
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
.cxx.o:
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
.cc.o:
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
.C.o:
$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
.c.o:
$(CC) -c $(CFLAGS) $(INCPATH) -o $@ $<
# Build rules
all: $(TARGET)
$(TARGET): $(OBJECTS)
$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(LIBS)
clean:
-rm -f $(OBJECTS) $(TARGET)
-rm -f *~ core
I don't know if it's just a typo, but you don't seem to be linking
libglademm (i.e. it's not in LFLAGS)
--
jonner
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]