[Scons-users] Problem with DLL dependencies on Windows

Dan Pidcock dan.pidcock at googlemail.com
Fri May 24 06:35:25 EDT 2013


On 24 May 2013 09:41, Dmitry Mikhin <dmitry.mikhin at gmail.com> wrote:


> Yes, they do:

> My targets: ['utils.dll', 'libutils.a']

>

> Any other ideas?

> Dmitry

>


I saw what may be a similar issue when using windows shared libraries. We
have set scons up with variant directories (which are named for each
library to prevent name clashes) which is where it creates the .dlls and
.lib files. An Install builder is used to copy the .dll and .lib files over
to a shared binary directory (one for each variant).

When used with just scons on the command line this was OK, but when I build
particular targets it didn't always update so I have a dictionary of the
installed libraries which is keyed on each project, and then those are
manually added to the dependency graph with Depends. Not sure if this is
exactly the same scenario you have but maybe this will give you some ideas?

We use something like:
projectTarget = projectEnv.SharedLibrary(libraryName, Glob('*.cpp'))
installedProject = projectEnv.Install(paths.BinPath(), projectTarget)
installedLibraries[libraryName] = installedProject

... later ...
(given a list requiredLibraries of libraries that a program depends on)

for lib in requiredLibraries:
if lib in installedLibraries:
Depends(projectTarget, installedLibraries[lib])

Dan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://four.pairlist.net/pipermail/scons-users/attachments/20130524/99be62e2/attachment.htm>


More information about the Scons-users mailing list