[CMake] Linking Error with Visual Studio 2013 x64

Romain Leguay romain.leguay at gmail.com
Thu Apr 17 10:39:05 EDT 2014


Thanks for your answers!

Le 17/04/2014 14:38, Jakub Zakrzewski a écrit :
>>> Visual Studio doesn't work like a good gcc?
> Good joke. ;)

The only thing I prefer in VS is his debugger...

>>> Is there some option to export automatically some methods without using __declspec(dllexport)?
> No. There are workarounds like in http://stackoverflow.com/questions/225432/export-all-symbols-when-creating-a-dll but it's too much work.
> Basically you want to define a macro that resolves to __declspec(dllexport) when building the DLL and to nothing when only using libraries headers.

I did this. It's not too much of pain and this way, we can tell which 
methods / class is exported. Hopefully, it's a new project ;)

Regards,

Romain

> --
> Gruesse,
> Jakub
>
>
> -----Original Message-----
> From: CMake [mailto:cmake-bounces at cmake.org] On Behalf Of Romain Leguay
> Sent: Donnerstag, 17. April 2014 14:27
> To: Nils Gladitz; cmake at cmake.org
> Subject: Re: [CMake] Linking Error with Visual Studio 2013 x64
>
> Visual Studio doesn't work like a good gcc? Because, I try this code with mingw (32 and 64) and it's working perfectly.
> Is there some option to export automatically some methods without using __declspec(dllexport)?
>
> Romain
>
> Le 17/04/2014 12:03, Nils Gladitz a écrit :
>> On 17.04.2014 11:46, Romain Leguay wrote:
>>> I think I found a bug with CMake 2.8.12.2: I have on project with two
>>> sub-folders: a SHARED library and an executable that use the library.
>>> When I generate the Visual Studio solution, my application want to
>>> link with a static version of my library.
>>>
>>> I join you a very small project to illustrate this bug.
>>>
>> I haven't tried to build the project but I am guessing that the
>> "static version" of the library is actually the import library:
>> http://en.wikipedia.org/wiki/Dynamic-link_library#Import_libraries
>>
>> And that you are missing DLL exports e.g.:
>>      http://msdn.microsoft.com/en-us//library/a90k134d.aspx
>>
>> Without any exports the linker does not create an import library for
>> your DLL.
>>
>> Nils



More information about the CMake mailing list