URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 59300
[ Назад ]

Исходное сообщение
"gtk-1.2 и gtk-2.0"

Отправлено гриша , 18-Авг-05 17:35 
день добрый
собираю программу
при сборке вылетает с ошибкой

g++  -c -g -O2 -fno-exceptions -I../../src/target3/glade -I../../src/target3 -I../../src/graphics -I../../src/common -I../..//src -I/usr/local/include/openbabel -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/X11R6/include -I/usr/include/gnome-1.0 -DNEED_GNOMESUPPORT_H -I/usr/lib/gnome-libs/include -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/X11R6/include -I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/X11R6/include -I/usr/include/gnome-xml -I/usr/include/libglade-1.0 -I/usr/include/gnome-1.0 -DNEED_GNOMESUPPORT_H -I/usr/lib/gnome-libs/include -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/include/orbit-1.0 -I/usr/include/gtk-1.2 -I/usr/X11R6/include ./t3views.cpp
In file included from /usr/include/c++/3.3.3/backward/strstream:51,
                 from t3views.cpp:23:
/usr/include/c++/3.3.3/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples includesubstituting the <X> header for the <X.h> header for C++ includes, or <sstream> instead of the deprecated header <strstream.h>. To disable this warning use -Wno-deprecated.
t3views.cpp: In member function `virtual void gnome_ogl_view::SetCurrent()':
t3views.cpp:139: error: syntax error before `)' token
t3views.cpp:139: error: `G_TYPE_CHECK_INSTANCE_CAST' undeclared (first use this
   function)
t3views.cpp:139: error: (Each undeclared identifier is reported only once for
   each function it appears in.)
t3views.cpp: In member function `virtual void
   gnome_graphics_view::ExposeEvent()':
t3views.cpp:605: error: syntax error before `)' token
t3views.cpp:605: error: `G_TYPE_CHECK_INSTANCE_CAST' undeclared (first use this
   function)
t3views.cpp: In member function `virtual void gnome_plot1d_view::ExposeEvent()
   ':
t3views.cpp:623: error: syntax error before `)' token
t3views.cpp:623: error: `G_TYPE_CHECK_INSTANCE_CAST' undeclared (first use this
   function)
t3views.cpp: In member function `virtual void gnome_plot2d_view::ExposeEvent()
   ':
t3views.cpp:639: error: syntax error before `)' token
t3views.cpp:639: error: `G_TYPE_CHECK_INSTANCE_CAST' undeclared (first use this
   function)
t3views.cpp: In member function `virtual void
   gnome_enlevdiag_view::ExposeEvent()':
t3views.cpp:657: error: syntax error before `)' token
t3views.cpp:657: error: `G_TYPE_CHECK_INSTANCE_CAST' undeclared (first use this
   function)
make[1]: *** [t3views.o] Ошибка 1
make[1]: Leaving directory `/usr/src/ghemical-1.02/src/target3'
make: *** [all] Ошибка 1

в ошибке все  понятно  не определены функции , но вот в чем засада
у меня стоит gtk-1.2 и gtk-2.0
соответственно в /usr/include два каталога gtk-1.2 и gtk-2.0
но все эти функции обьявлены в хедерах второго gtk  в первом.два их нет
но при компиляции этот гад использует -I/usr/include/gtk-1.2
как мне его заставить использовать версию поновее
при при попытке удалении первого выдает тучу зависимостей  
система линукс АСП 10


Содержание

Сообщения в этом обсуждении
"gtk-1.2 и gtk-2.0"
Отправлено AWE , 18-Авг-05 17:57 
Вы слышали про

`pkg-config --cflags gtk+-2.0` -для копиляции, т.к. включает все нужные каталоги

`pkg-config --libs gtk+-2.0`   -для сборки

Запуск g++ `pkg-config --cflags gtk+-2.0` <ваши опции и флаги> <ваш файл>


"gtk-1.2 и gtk-2.0"
Отправлено гриша , 19-Авг-05 11:18 
>Вы слышали про
>
>`pkg-config --cflags gtk+-2.0` -для копиляции, т.к. включает все нужные каталоги
>
>`pkg-config --libs gtk+-2.0`   -для сборки
>
>Запуск g++ `pkg-config --cflags gtk+-2.0` <ваши опции и флаги> <ваш файл>

слышал , (сама програма не моя)
при выполнении скрипта ./configure
он определяет версию gtk
checking for GTK - version >= 0.99.7... yes
но почему то  определяет версию gtk 1.2.10
(запуск gtk-config --version выдает
1.2.10 , gtk-config - утилита из пакета gtk+-devel
хотя у меня установлено и gtk2-devel , но там этой утилиты нет)  
запускает gtk-config --cflags
-I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib/glib/include -I/usr/X11R6/include
и подставляет в соответствующий makefile.in соответсвующие значения
и преобразует его в  makefile
т.е  если в ручную прописывать как вы сказали выводит то что надо ,
но это надо править ./configure , а можно сделать это в самой системе ?


"gtk-1.2 и gtk-2.0"
Отправлено AWE , 19-Авг-05 14:38 
Пролне возможно что программа конфигурации имеет параметры
./configure --help

В ответах поищите что-нибудь вроде --with-gtk2 или --with-PACKAGE

Запуск ./configure --with-gtk2
МОЖЕТ поМОЖЕТ.