[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