Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Messages - jonnection

Pages: [1]

I want to report I solved the problem.

I found a program called Dependency Walker

It is a fantastic program that shows in great detail what DLL's will be called by the program and how DLL's depend on each other.

Using this program I found out that I got burned (yet again) by the good old PATH variable in Windoze. The TGUI dll was calling a SFML dll that was in an earlier entry in the PATH. And that .dll happened to be a DW2 exception handler version. The error however, was pointing to libstdc++-6.dll BECAUSE the SFML dll was looking for the DW2 personality flag in the SJLJ libstdc++-6. Without dependency walker I probably would still be wondering whats wrong.

Fixed by putting the path to the SFML SJLJ directory before the path to the SFML DW2 directory ( I need both).

Installation help / Dynamic linking... I'm going crazy
« on: 18 August 2014, 17:24:45 »
Hey Texus

I can't use the default SJLJ libs because I'm collaborating with another project that uses DW2 MinGW.

So I compiled my own by using CMake on windows. No problem there.

But when I try to link the libs in the example TGUI login program, I get

Code: [Select]
  tgui::EditBox::Ptr editBoxUsername = gui.get("Username");

"||=== Build: Debug in tgui_test (compiler: GNU GCC Compiler) ===|
obj\Debug\main.o||In function `main':|
C:\dev\TGUI-0.6\examples\tgui_test\main.cpp|98|undefined reference to `__imp___ZNK4tgui3Gui3getERKN2sf6StringE'|
C:\dev\TGUI-0.6\examples\tgui_test\main.cpp|99|undefined reference to `__imp___ZNK4tgui3Gui3getERKN2sf6StringE'|
||=== Build failed: 2 error(s), 0 warning(s) (0 minute(s), 1 second(s)) ===|

Now, I understand that __imp__ is something to do with .dll's.

But I thought I am already supplying everything needed :

-ltgui-d -lsfml-graphics-d -lsfml-window-d -lsfml-system-d -lwsock32 -lwinmm -lstdc++ -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt -ladvapi32 -lshell32 -luser32 -lkernel32 -lmingw32 -lgcc_s -lgcc -lmoldname -lmingwex -lmsvcrt

I have looked with nm into the original libtgui-d.a and tgui-d.dll and the name mangling looks identical to the libs I have compiled.

Do you have any suggestions where I am going wrong ?

Thanks ! This static/dynamic stuff is so confusing.

Happily compiling and working in Code::Blocks. It works well.


Any idea why graphics for buttons are broken like this ?

photo host

I simply copied the missing libtgui into /usr/local/lib

a.out works now, although login entry boxes look broken

I changed the project to generate a console window, apparently missing font and background picture are causing some problems.

I will investigate further.

... which is rather interesting, I do not know where I might have made a mistake with the installation

./a.out: error while loading shared libraries: cannot open shared object file: No such file or directory


Just tried to install and get TGUI working. I get a black screen no matter what I try.

What I've done:

- I have a working installation of Code::Blocks + SFML 2.1 (I use them daily) on Xubuntu (12.04)
- I downloaded TGUI 0.6 source from
- I ran cmake . , no problems
- I ran sudo make install -j6 ... again no problems.

I added -ltgui before the SFML libs, starting from a working example SFML project
I added linker search dir to TGUI/lib and compiler search to TGUI/include in project options.

I copy-pasted the example "login" screen source into the main.cpp of the project.

I get a black "TGUI Window" screen (so SFML is working) but no TGUI elements at all are showing up.

I have followed the install instructions fully.

TGUI form builder works though.

I am a bit at loss where to look for the problem. Any help would be appreciated.   

Pages: [1]