Cant Compile c++ Examples in Linux

42 views
Skip to first unread message

lam...@consilium.de

unread,
Nov 25, 2015, 8:19:20 AM11/25/15
to GLG Toolkit Community Edition


compling with youre make File results in a lot of Compiler Errors.

Can you give me a hint whats going wrong?

"Nicht definierter Verweis auf " means "Undefined reference to"



 GlgControlPanelG.o: In Funktion `GlgMain':
/home/lambert/NetBeansProjects/controls/GlgControlPanelG.cpp:51: Nicht definierter Verweis auf `GlgSessionC::GlgSessionC(long, _XtAppStruct*, int, char**)'
/home/lambert/NetBeansProjects/controls/GlgControlPanelG.cpp:54: Nicht definierter Verweis auf `GlgSessionC::GetAppContext()'
/home/lambert/NetBeansProjects/controls/GlgControlPanelG.cpp:57: Nicht definierter Verweis auf `GlgObjectC::LoadWidget(char const*)'
/home/lambert/NetBeansProjects/controls/GlgControlPanelG.cpp:61: Nicht definierter Verweis auf `GlgObjectC::SetResource(char const*, double, double, double)'
/home/lambert/NetBeansProjects/controls/GlgControlPanelG.cpp:62: Nicht definierter Verweis auf `GlgObjectC::SetResource(char const*, double, double, double)'
/home/lambert/NetBeansProjects/controls/GlgControlPanelG.cpp:65: Nicht definierter Verweis auf `GlgObjectC::EnableCallback(_GlgCallbackType, void*)'
/home/lambert/NetBeansProjects/controls/GlgControlPanelG.cpp:71: Nicht definierter Verweis auf `GlgObjectC::InitialDraw()'
/home/lambert/NetBeansProjects/controls/GlgControlPanelG.cpp:73: Nicht definierter Verweis auf `GlgSessionC::~GlgSessionC()'
/home/lambert/NetBeansProjects/controls/GlgControlPanelG.cpp:73: Nicht definierter Verweis auf `GlgSessionC::~GlgSessionC()'
GlgControlPanelG.o: In Funktion `ControlPanelExample::InitializeDrawing()':
/home/lambert/NetBeansProjects/controls/GlgControlPanelG.cpp:83: Nicht definierter Verweis auf `GlgObjectC::SetResource(char const*, double)'
/home/lambert/NetBeansProjects/controls/GlgControlPanelG.cpp:86: Nicht definierter Verweis auf `GlgObjectC::SetResource(char const*, double)'
/home/lambert/NetBeansProjects/controls/GlgControlPanelG.cpp:87: Nicht definierter Verweis auf `GlgObjectC::SetResource(char const*, double)'
/home/lambert/NetBeansProjects/controls/GlgControlPanelG.cpp:89: Nicht definierter Verweis auf `GlgObjectC::SetResource(char const*, double)'
/home/lambert/NetBeansProjects/controls/GlgControlPanelG.cpp:90: Nicht definierter Verweis auf `GlgObjectC::SetResource(char const*, double)'
GlgControlPanelG.o:/home/lambert/NetBeansProjects/controls/GlgControlPanelG.cpp:93: Weitere nicht definierte Verweise auf `GlgObjectC::SetResource(char const*, double)' folgen
GlgControlPanelG.o: In Funktion `ControlPanelExample::Input(GlgObjectC&, GlgObjectC&)':
/home/lambert/NetBeansProjects/controls/GlgControlPanelG.cpp:109: Nicht definierter Verweis auf `GlgObjectC::GetResource(char const*, char const**)'
/home/lambert/NetBeansProjects/controls/GlgControlPanelG.cpp:110: Nicht definierter Verweis auf `GlgObjectC::GetResource(char const*, char const**)'
/home/lambert/NetBeansProjects/controls/GlgControlPanelG.cpp:111: Nicht definierter Verweis auf `GlgObjectC::GetResource(char const*, char const**)'
/home/lambert/NetBeansProjects/controls/GlgControlPanelG.cpp:134: Nicht definierter Verweis auf `GlgObjectC::GetResource(char const*, double*)'
/home/lambert/NetBeansProjects/controls/GlgControlPanelG.cpp:137: Nicht definierter Verweis auf `GlgObjectC::SetResource(char const*, double)'
/home/lambert/NetBeansProjects/controls/GlgControlPanelG.cpp:140: Nicht definierter Verweis auf `GlgObjectC::Update()'
GlgControlPanelG.o: In Funktion `ControlPanelExample::ControlPanelExample()':
/home/lambert/NetBeansProjects/controls/GlgControlPanelG.cpp:145: Nicht definierter Verweis auf `GlgObjectC::GlgObjectC()'
GlgControlPanelG.o: In Funktion `ControlPanelExample::~ControlPanelExample()':
/home/lambert/NetBeansProjects/controls/GlgControlPanelG.cpp:152: Nicht definierter Verweis auf `GlgObjectC::~GlgObjectC()'
/home/lambert/NetBeansProjects/controls/GlgControlPanelG.cpp:154: Nicht definierter Verweis auf `operator delete(void*)'
GlgControlPanelG.o: In Funktion `ControlPanelExample::~ControlPanelExample()':
/home/lambert/NetBeansProjects/controls/GlgControlPanelG.cpp:154: Nicht definierter Verweis auf `operator delete(void*)'
GlgControlPanelG.o:(.rodata._ZTV19ControlPanelExample[_ZTV19ControlPanelExample]+0x28): Nicht definierter Verweis auf `GlgObjectC::Select(GlgObjectC&, char const**)'
GlgControlPanelG.o:(.rodata._ZTV19ControlPanelExample[_ZTV19ControlPanelExample]+0x30): Nicht definierter Verweis auf `GlgObjectC::Trace(GlgObjectC&, _GlgTraceCBStruct*)'
GlgControlPanelG.o:(.rodata._ZTV19ControlPanelExample[_ZTV19ControlPanelExample]+0x38): Nicht definierter Verweis auf `GlgObjectC::Trace2(GlgObjectC&, _GlgTraceCBStruct*)'
GlgControlPanelG.o:(.rodata._ZTV19ControlPanelExample[_ZTV19ControlPanelExample]+0x40): Nicht definierter Verweis auf `GlgObjectC::Hierarchy(GlgObjectC&, _GlgHierarchyCBStruct*)'
GlgControlPanelG.o:(.rodata._ZTI19ControlPanelExample[_ZTI19ControlPanelExample]+0x0): Nicht definierter Verweis auf `vtable


and so on ...

glg_support

unread,
Nov 25, 2015, 10:48:44 AM11/25/15
to GLG Toolkit Community Edition
GlgClass.cpp  from <glg_dir>/src directory should be complied and linked with the example. Copy GlgClass.cpp into the example's directory and build the example including this file.

From the README.txt file located in the examples_c_cpp directory:
 
"To build C++ examples, GlgClass.cpp file from "<glg_dir>/src" directory should be compiled and linked with the example. Refer to the
README_BUILD.txt file in each example's directory for information on additional preprocessor define directives for the C++ build."

lam...@consilium.de

unread,
Nov 25, 2015, 12:01:08 PM11/25/15
to GLG Toolkit Community Edition
Thanks for your answer, I saw this but it did not work for me:

cd '/home/lambert/NetBeansProjects/controls'
/usr/bin/make -f makefile
gcc -c -g  -D GLG_CPP_STANDARD_API -I/usr/local/glg/include   \
  GlgClass.cpp -o GlgClass.o;
gcc -c -g  -D GLG_CPP_STANDARD_API -I/usr/local/glg/include   \
  GlgControlPanelG.cpp -o GlgControlPanelG.o;
( gcc -L/usr/local/glg/lib  -L. -o demo  GlgClass.o GlgControlPanelG.o \
  -lglg_int -lglg -lglg_map_stub  \
  -lXm -lXt -lX11  \
                -lz -ljpeg -lpng -lfreetype \
                 -lm -ldl -lpthread \
  || ( rm demo ; exit 1 ) )
GlgClass.o: In Funktion `GlgSessionC::~GlgSessionC()':
/home/lambert/NetBeansProjects/controls/GlgClass.cpp:69: Nicht definierter Verweis auf `operator delete(void*)'
GlgClass.o: In Funktion `GlgSessionC::~GlgSessionC()':
/home/lambert/NetBeansProjects/controls/GlgClass.cpp:69: Nicht definierter Verweis auf `operator delete(void*)'
GlgClass.o: In Funktion `GlgObjectC::~GlgObjectC()':
/home/lambert/NetBeansProjects/controls/GlgClass.cpp:165: Nicht definierter Verweis auf `operator delete(void*)'
GlgClass.o: In Funktion `GlgObjectC::~GlgObjectC()':
/home/lambert/NetBeansProjects/controls/GlgClass.cpp:165: Nicht definierter Verweis auf `operator delete(void*)'
GlgClass.o: In Funktion `GlgLinkC::~GlgLinkC()':
/home/lambert/NetBeansProjects/controls/GlgClass.cpp:1509: Nicht definierter Verweis auf `operator delete(void*)'
GlgClass.o:/home/lambert/NetBeansProjects/controls/GlgClass.cpp:1509: Weitere nicht definierte Verweise auf `operator delete(void*)' folgen
GlgClass.o:(.rodata._ZTI11GlgWrapperC[_ZTI11GlgWrapperC]+0x0): Nicht definierter Verweis auf `vtable for __cxxabiv1::__si_class_type_info'
GlgClass.o:(.rodata._ZTI8GlgLinkC[_ZTI8GlgLinkC]+0x0): Nicht definierter Verweis auf `vtable for __cxxabiv1::__si_class_type_info'
GlgClass.o:(.rodata._ZTI10GlgObjectC[_ZTI10GlgObjectC]+0x0): Nicht definierter Verweis auf `vtable for __cxxabiv1::__class_type_info'
GlgClass.o:(.rodata._ZTI11GlgSessionC[_ZTI11GlgSessionC]+0x0): Nicht definierter Verweis auf `vtable for __cxxabiv1::__class_type_info'
GlgClass.o:(.eh_frame+0xaab): Nicht definierter Verweis auf `__gxx_personality_v0'

GlgControlPanelG.o: In Funktion `ControlPanelExample::~ControlPanelExample()':
/home/lambert/NetBeansProjects/controls/GlgControlPanelG.cpp:154: Nicht definierter Verweis auf `operator delete(void*)'
GlgControlPanelG.o: In Funktion `ControlPanelExample::~ControlPanelExample()':
/home/lambert/NetBeansProjects/controls/GlgControlPanelG.cpp:154: Nicht definierter Verweis auf `operator delete(void*)'
GlgControlPanelG.o:(.rodata._ZTI19ControlPanelExample[_ZTI19ControlPanelExample]+0x0): Nicht definierter Verweis auf `vtable for __cxxabiv1::__si_class_type_info'
GlgControlPanelG.o:(.eh_frame+0x4b): Nicht definierter Verweis auf `__gxx_personality_v0'
collect2: error: ld returned 1 exit status
rm: das Entfernen von »demo“ ist nicht möglich: Datei oder Verzeichnis nicht gefunden
make: *** [demo] Fehler 1
BUILD FAILED (exit value 2, total time: 826ms)

glg_support

unread,
Nov 25, 2015, 1:14:36 PM11/25/15
to GLG Toolkit Community Edition
g++ should be used instead of gcc to build C++ programs.

g++ will automatically include the -lstdc++ library which defines symbols you have a problem with. 

lam...@consilium.de

unread,
Nov 25, 2015, 2:00:29 PM11/25/15
to GLG Toolkit Community Edition
This works fine. compiling and linking runs without an error using c++ complier.

But no of the Examples will run: (The DEMO Apps works fine)

Result on all examples:

X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  155 (GLX)
  Minor opcode of failed request:  3 (X_GLXCreateContext)
  Value in failed request:  0x0
  Serial number of failed request:  166
  Current serial number in output stream:  168
RUN FINISHED; exit value 1; real time: 100ms; user: 30ms; system: 60ms

lam...@consilium.de

unread,
Nov 25, 2015, 2:30:35 PM11/25/15
to GLG Toolkit Community Edition
I found out, the error Shows a problem with OpenGL and the graphic driver.

I am running a ubuntu in VM Ware. Did you have any Idea to solve this?


glg_support

unread,
Nov 25, 2015, 2:51:53 PM11/25/15
to GLG Toolkit Community Edition
GLG OpenGL can be disabled using one of the following options:

1) Start a GLG program with a command line option -glg-disable-opengl

2) In the terminal window, set environment variable GLG_OPENGL_MODE to False:
    export GLG_OPENGL_MODE=False
Reply all
Reply to author
Forward
0 new messages