[CMake] Executable project creating an import library

Robert Dailey rcdailey at gmail.com
Sat Jan 24 12:44:17 EST 2009


On Sat, Jan 24, 2009 at 11:16 AM, Stefan Buschmann <s_buschmann at gmx.de>wrote:

> Robert Dailey schrieb:
>
>> I've specified a very complex CMake script that generates an executable
>> project. When I use this CMake script to generate a Visual Studio 2008
>> project, the "Import Library" property located in Project Settings >> Linker
>> >> Advanced property page in Visual Studio 2008 has a value, specifically
>> the absolute path to the LIB file that will be generated. I have no idea why
>> this value is being filled in when I specifically called CMake's
>> add_executable() on this project.
>>
> It is possible to create an executable and export symbols from it, which
> can be convenient e.g. to export an API from an application to a plugin. In
> this case you have an .EXE and can link to it the same way you would do it
> with a DLL, using an import library (.LIB). So if you get a .LIB from your
> executable, I would guess that you are accidentally exporting symbols in you
> project (especially if it's a complex project as you said). Do you use any
> EXPORT macros that evaluate to __declspec(dllexport)? If yes, check that
> those macros are undefined when you compile your executable, so that no
> symbols are exported. If no symbols are exported from your project, no .LIB
> file will be created.
>
> That said: Is that .LIB-file actually generated during the build? If not
> (if you are not exporting any symbols), you can safely ignore that setting
> in the project. I guess that CMake enters this option automatically for
> every project, because it can not know at generation time if this project
> will export any symbols or not. But if no symbols are exported, there is
> also no .LIB file generated.


Thanks for clarifying on this issue. I had overlooked the fact that the
problem could actually be with the code (Performing exports). I'll look into
this, thank you.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20090124/a4feadee/attachment.htm>


More information about the CMake mailing list