[CMake] import/export and DLL's

Michael Jackson mike.jackson at bluequartz.net
Tue Dec 6 11:10:18 EST 2011


Read this article. 
 
http://www.cmake.org/Wiki/BuildingWinDLL

If you have questions after that please post. That article should clear everything up.

Thanks
___________________________________________________________
Mike Jackson                    Principal Software Engineer
BlueQuartz Software                            Dayton, Ohio
mike.jackson at bluequartz.net              www.bluequartz.net

On Dec 6, 2011, at 3:47 AM, Totte Karlsson wrote:

> Hi,
> I have a project where several DLL's are to be built, say A, B and C.
> B needs to import functions/classes from A, and C need to import functions from both A and B.
> In each library, a flag is defined for exporting or importing, i.e. __declspec(dllexport) or __declspec(import)
> 
> The build order is first A, then B and then C.
> I have defined build flags in CMakeList.txt files as, in A for example
>    SET_TARGET_PROPERTIES (${target} PROPERTIES DEFINE_SYMBOL  "EXPORT_A_DLL")
> 
> in B
>    SET_TARGET_PROPERTIES (${target} PROPERTIES DEFINE_SYMBOL  "EXPORT_B_DLL")
>    SET_TARGET_PROPERTIES (${target} PROPERTIES DEFINE_SYMBOL  "IMPORT_A_DLL")
> 
> and in C
>    SET_TARGET_PROPERTIES (${target} PROPERTIES DEFINE_SYMBOL  "EXPORT_C_DLL")
>    SET_TARGET_PROPERTIES (${target} PROPERTIES DEFINE_SYMBOL  "IMPORT_A_DLL")
>    SET_TARGET_PROPERTIES (${target} PROPERTIES DEFINE_SYMBOL  "IMPORT_B_DLL")
> 
> The only dll that seem to be built OK is A. In B and C, nothing seem to be exported.
> Any tips on how to deal with this?
> I am using CodeGear platform. Building static libs works fine.
> 
> -totte
> 
> -- 
> .........................
> Totte Karlsson, Ph.D.
> Dune Scientific, LLC
> 425-296 1980 (office)
> 425-780 9648 (cell)
> www.dunescientific.com
> .........................
> 
> 
> --
> 
> Powered by www.kitware.com
> 
> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
> 
> Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ
> 
> Follow this link to subscribe/unsubscribe:
> http://www.cmake.org/mailman/listinfo/cmake



More information about the CMake mailing list