[CMake] Shared libraries cannot be found after deploying a CPack package

Michael Wild themiwi at gmail.com
Thu Jul 16 09:45:37 EDT 2009


On 16. Jul, 2009, at 15:39, Andreas Pakulat wrote:

> On 16.07.09 15:26:16, Eric Noulard wrote:
>> 2009/7/16 Michael Wild <themiwi at gmail.com>:
>>>>
>>>> May be there is some equivalent on Windows platform too
>>>> http://msdn.microsoft.com/en-us/library/ms682586(VS.85).aspx
>>>> [just pointing the link, I'm really no windows expert and ....
>>>> don't want to become one :-) ]
>>>
>>> Seriously, that platform is just plain broken if you ask me.
>>> __declspec(dllimport), __declspec(dllexport)?! What were they  
>>> thinking?
>>
>> Visibility control in shared libs may not be considered as evil,
>> GCC even supports that feature:
>>
>> http://gcc.gnu.org/wiki/Visibility
>>
>> in particular you may read "2.2 Export Control" in
>> http://people.redhat.com/drepper/dsohowto.pdf
>
> GCC visibility is only half of the broken system that Microsoft
> invented. It only declares what symbols should be visible when linking
> to the library, but msvc even forces the user of a library to  
> explain to
> the linker which symbols he wants to use (the dllimport stuff). Thats
> plain broken, the linker should be able to figure that out himself -  
> ld
> does it.
>

Problem is, their broken binary format requires to know at _COMPILE_  
time that a symbol will be linked from a DLL. Nothing the linker can  
do about, really... At least as far as I understand it, but then I'm  
not sure MS understands it themselves.

Hell, ever had a look at windows.h and the stuff it includes? Gives  
you the creeps!

Michael



More information about the CMake mailing list