On Jan 16, 2008, at 1:36 PM, Leopold Palomo-Avellaneda wrote:
A Dimecres 16 Gener 2008, Bill Hoffman va escriure:
Leopold Palomo-Avellaneda wrote:
A Dimecres 16 Gener 2008, Bill Hoffman va escriure:
Leopold Palomo-Avellaneda wrote:
Linking CXX shared library libpluginregistrodeiva.dylib
Undefined symbols:
"aplinteligentesview::aplinteligentesview(Empresa*, QWidget*)",
referenced from:
linprevcobro::creaPago() in linprevcobro.o
"aplinteligentesview::setfechaasiento(QString)", referenced from:
linprevcobro::creaPago() in linprevcobro.o
"regivaprintview::regivaprintview(Empresa*, QWidget*)", referenced
from: ListRegistroIvaView::boton_print() in
listregistroivaview.o
OK, so all these symbols are from your stuff. I think I know the
problem. Linux allows for shared libraries to have undefined symbols,
and the mac does not. You need to add some
target_link_libraries(libpluginregistrodeiva ...)
Stuff into your cmake file.
I have it .....
target_link_libraries(${plugin} bulmalib ${QT_LIBRARIES} $
{PGSQL_LIBRARIES})
I think you either need more libraries in the above statement or
you are not compiling enough source files into the bulmalib library.
For instance where is aplinteligentesview defined? Is is a part of
the bulmalib library?
My guess is that if you went on to a linux system, and did nm on
the .so
, you would find these symbols are also undefined. I think there
is a
flag like -undefined suppress or something that you can pass to
the mac
linker to make it work more like linux. However, if you ever want
to go
to windows you will have to figure this out as there is no such
flag on
Windows.
yes, I agree.
But how I can manage or protect this kind of stuff of different
platforms.
Best regards,
Leo
_______________________________________________
CMake mailing list
[email protected]
http://www.cmake.org/mailman/listinfo/cmake
--
Mike Jackson Senior Research Engineer
Innovative Management & Technology Services
_______________________________________________
CMake mailing list
[email protected]
http://www.cmake.org/mailman/listinfo/cmake