Am 08.04.2015 um 22:37 schrieb Georg Baum:
Let us analyze it:
1) The linker complains about an unresolved symbol.
2) The name of the symbol is lyx::frontend::FontMetrics.
3) Cannot be! This symbol is in dummy_funcs.cpp.
4) Maybe it is the order of the objects on the linker command line as Kornel
suggested? No, this is not the case (you could either try it out, or
remember that the linker commandline order usually not matter for object
files, only for libraries in certain cases).
5) OK, there must still be an error in the reasoning above. Assuming that
the linker is correct it can only be item 3) => read dummy_funcs.cpp again
very carefully
6) Bingo! dummy_funcs.cpp contains a class lyx::FontMetrics, not
lyx::frontend::FontMetrics
Hi Georg,
many thanks!
I don't know about linkers (not even what a linker really is) since I
write my programs (only numerical integrations, 2D and 3D plots and
curve fitting) with Lazarus or LabView and once learned to program with
Turbo Pascal.
Now I understand it a bit better but are far away from really
understanding why a C++-compiler needs so many steps and so much time
while e.g. Lazarus never issues a linking problem and compiles much,
much faster; and Lazarus programs can be compiled with Qt too. Maybe a
developer here could give me a link to an explanation since I have this
question since a long time and nobody yet could answer it.
Since I am not a programmer I will probably never understand the
compilation stuff and CMake etc. I even don't really know why CMake is
necessary and what it does exactly. Once we had SCons and the discussion
why CMake is better was pure mystery to me. As spare time, just for fun
developer I simply need a way to compile.
Therefore my thanks go our to Kornel, Enrico etc. who deal wit all the
stuff so that I don't have to learn this and can concentrate on other
things like e.g. the Win installer scripts.
Now the fix is easy. I implemented it (without testing since I don't have
MSVC on this machine), but I am very sure that it works.
Yes it works.
many thanks again and best regards
Uwe