[Scons-users] MS Visual Studio Install tries to find a not-existing file
Gary Oberbrunner
garyo at oberbrunner.com
Mon Aug 20 22:00:57 EDT 2012
On Sun, Aug 19, 2012 at 8:39 AM, Kraus Philipp
<philipp.kraus at flashpixx.de> wrote:
> Hello,
>
> I compile under MS Visual Studio 2010 Express the LUA library.
>
> lib = envlua.Library(target="lua", source=libsrc)
> envlua.Install( "targetpath", lib )
>
> In this case, VS builds a *.lib file and installs it within the target directory.
> So if I switch to a shared library:
>
> lib = envlua.SharedLibrary(target="lua", source=libsrc)
> envlua.Install( "targetpath", lib )
>
> The Install command shows:
> scons: *** [library\build\LUA\5.2.1\lib\lua.lib] library\lua.lib: No such file or directory
>
> It is a correct error message, but no lua.lib is build (static build), so the Install command
> searches the static and the dynamic library. It seems, that the Install command searches
> on dynamic build also a static library.
>
> I would like to build only the DLL not the static version and would like to install the file
> in the target place
SharedLibrary on Windows actually creates three files: the dll, the
import library (the .lib), and a .exp file. The builder returns a
list of all three of them in that order, so your lib[0] is the .dll
and so on. Note that when you build a dll on Windows, you do need to
build the corresponding .lib -- it's not a static lib, it's the import
lib. (It's not like other OSes.) If your code isn't producing a
.lib, you probably are missing your export directives.
--
Gary
More information about the Scons-users
mailing list