[CMake] lib/dll LINK_LIBRARIES on windows?

David Cole david.cole at kitware.com
Thu Dec 14 09:00:56 EST 2006


On Windows you have to export your classes/functions explicitly from dlls.
Everything is private/hidden/internal only by default.

You can use "__declspec(dllexport)" directives in your source, or you can
use a .def file to list them... if you do neither, then there are no public
exports from your dlls and the linker will not create corresponding lib
files.

As soon as you export at least one function, the linker will create the lib
file when it creates the dll.

HTH,
David

On 12/13/06, Abe Stephens <abe at sci.utah.edu> wrote:
>
> Tristan Carel wrote:
> > The synopsis of `SWIG_LINK_LIBRARIES' macro is:
> > SWIG_LINK_LIBRARIES(module_name library [library...])
> >
> > So try this:
> >
> > SWIG_LINK_LIBRARIES(glm ${PYTHON_LIBRARIES} glm )
> Whoops, that was a typo in the email on my part. I am specifying the
> target name as the first argument.
>
> The SWIG_LINK_LIBRARIES macro renames it's first argument, in this case
> to "_glm" so there doesn't end up being a naming problem. It also works
> if I switch to an all-static build, but that's not a great option for my
> whole project. This build system is pretty flushed out on other
> platforms which leads me to believe that I'm just ignorant of the
> windows linker.
>
> Thanks for your reply though.
>
> Abe
> _______________________________________________
> CMake mailing list
> CMake at cmake.org
> http://www.cmake.org/mailman/listinfo/cmake
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://public.kitware.com/pipermail/cmake/attachments/20061214/8852ea15/attachment.html


More information about the CMake mailing list