Re: auto-import error (Gtk::TreeViewColumn on mingw)



Hi, all.

I did a compile of the current gtkmm/glibmm set on mingw, in the course
of my periodic chores in porting Inkscape to Win32. I do builds of gtkmm on both Mingw on Windows, and with a comparable Mingw cross-compiler on Linux. (both are 3.4.4) We have been having a terrible time with importing Gtk::TreeViewColumn, and then having the resulting executable run correctly. After searching the web, your bug tracker, and your list,
I found the following suggestion in more than one place:

(By the way, I'm not whining.  I love gtkmm and glibmm.
Especially Glib::ustring  ;-)


Cedric Gustin wrote:

Benjamin Scholz wrote:

i586-mingw32msvc-g++ -g -Wall `pkg-config gtkmm-2.4 --cflags` outputWindow.o getter.o mpglengthtest.o asflengthtest.o dllocxlengthtest.o sndlengthtest.o exelengthtest.o movlengthtest.o mp3lengthtest.o midlengthtest.o avilengthtest.o wavlengthtest.o tiflengthtest.o jpglengthtest.o bmplengthtest.o giflengthtest.o lengthtest.o -o apdet.exe -L/home/ben/src/gtklib/ -lgtkmm-2.4 -latkmm-1.6 -lgtk-win32-2.0 -lpangomm-1.4 -lglibmm-2.4 -lsigc-2.0 -lgdk-win32-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangowin32-1.0 -lgdi32 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 -lintl -liconv outputWindow.o: In function `_ZN12OutputWindowC2Ev':
/home/ben/src/own/apdet/outputWindow.cc:33: variable 'vtable for Gtk::TreeViewColumn' can't be auto-imported. Please read the documentation for ld's --enable-auto-import for details.
/home/ben/src/own/apdet/outputWindow.cc:33: variable 'vtable for Gtk::TreeViewColumn' can't be auto-imported. Please read the documentation for ld's --enable-auto-import for details.
Info: resolving Gtk::Stock::CANCEL     by linking to __imp___ZN3Gtk5Stock6CANCELE (auto-import)
Info: resolving Gtk::Stock::OPEN     by linking to __imp___ZN3Gtk5Stock4OPENE (auto-import)
Info: resolving VTT for Gtk::TreeViewColumn by linking to __imp___ZTTN3Gtk14TreeViewColumnE (auto-import)
Info: resolving vtable for Gtk::TreeViewColumnby linking to __imp___ZTVN3Gtk14TreeViewColumnE (auto-import)
collect2: ld returned 1 exit status
make: *** [all] Fehler 1

I found in the archive that it helps to use the older gcc 3.2.3 but that
produced a bit more errors. I tried to compile it direct under Windows
(with devcpp), where it produces the same error.
Because of the posting, being a Year old, I hope, there is a newer
solution for that...

No, you should use gcc-3.4 with my binaries, and pass the
"-Wl,--enable-runtime-pseudo-reloc" option at link time.

Cedric


I must say that I agree with the others. That GCC option will enable the link,
but the resulting object will always crash.

So, my question is, what would be a good way for me to make that class and its siblings be exported the same as all of the other classes in Gtkmm? What makes these
classes different?

I pasted a backtrace below, even though it is too short to be useful, other than suggesting
that the class cannot be invoked at all.

Thanks muchly.

Bob Jamison
(ishmal)


========= backtrace on win32 ===========

....### Your code
#0  0x00b23750 in ?? ()
#1  0x01ac5557 in ?? ()
#2  0x0073be0a in _fu1___ZTTN3Gtk14TreeViewColumnE ()
....### Our code
#3  0x0075385c in Inkscape::UI::Dialog::Memory::Private::Private() ()
#4  0x00678bbf in Inkscape::UI::Dialog::Memory::Memory() ()
#5 0x00753305 in Inkscape::UI::Dialog::Dialog* Inkscape::UI::Dialog::(anonymous
namespace)::create<Inkscape::UI::Dialog::Memory>() ()
#6 0x00529289 in Inkscape::UI::Dialog::DialogManager::getDialog(unsigned) () #7 0x00529341 in Inkscape::UI::Dialog::DialogManager::showDialog(char const*)
   ()
#8  0x004e837a in Inkscape::HelpVerb::perform(SPAction*, void*, void*) ()
#9  0x004f1b85 in sp_action_perform(SPAction*, void*) ()









[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]