[CMake] My dammed problem with OSX and Qt
Mike Jackson
imikejackson at gmail.com
Wed Jan 16 13:57:51 EST 2008
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
> CMake at cmake.org
> http://www.cmake.org/mailman/listinfo/cmake
--
Mike Jackson Senior Research Engineer
Innovative Management & Technology Services
More information about the CMake
mailing list