I compile with g++
in MinGW on Win 8.1 and i get many errors like those:
C:/of_v0.9.8_msys2/libs/openFrameworksCompiled/lib/msys2/libopenFrameworks.a(ofAppGlutWindow.o):ofAppGlutWindow.cpp:(.text+0x157): undefined reference to `_imp__glutGet@4
C:/of_v0.9.8_msys2/libs/openFrameworksCompiled/lib/msys2/libopenFrameworks.a(ofAppGlutWindow.o):ofAppGlutWindow.cpp:(.text+0x1bb): undefined reference to `_imp__glutGet@4'
My question: What is the meaning of the output? Can somebody paraphrase these output line?
For example: The linker can't find the reference to _imp__glutGet@4
in the ofAppGlutWindow.o
(object file) that is locate inside the libopenFrameworks.a
(.o archive file) ...
... and what is ofAppGlutWindow.cpp? and the adress .text+0x157? and all the things?
- I looked inside the
libopenFrameworks.a
file andofAppGlutWindow.o
is there. - I searched also inside
ofAppGlutWindow.o
for strings and_imp__glutGet@4
is there.
gcc
version 6.2.0
Important
My question is about understanding the output syntax. I found nowhere a description of the gcc output syntax: what is the meaning of the order of appearance, the meaning of the :
the meaning of the ()
the meaning of the (whitespace), and so on...
For example sometimes is (ofAppGlutWindow.o):ofAppGlutWindow.cpp
without spaces around :
and sometimes is (.text+0x157): undefined reference
with space on the right.
sometimes is like this main.o:main.c:function _Key: error: undefined reference to 'stdscr'
with :<space>
twice.
So we can assume that :
and :<space>
are two different symbols?
Is the output syntax of gcc/ld consistent and each symbol/order have a meaning or nobody took care of that; and so it's always to understand in a different way?