[Scons-users] MS Visual Studio Install tries to find a	not-existing file
    Kraus Philipp 
    philipp.kraus at flashpixx.de
       
    Sun Aug 19 16:54:33 EDT 2012
    
    
  
Am 19.08.2012 um 22:34 schrieb Francis Bolduc:
> try doing the following before your call to SharedLibrary:
> 
> envlua.AppendUnique(CPPDEFINES=['LUA_BUILD_AS_DLL'])
> 
> This will enable this Microsoft-only, non-standard, non-portable
> attribute known as "__declspec(dllimport/dllexport)" in the LUA source
> code.
Thanks a lot, I have create at this time only the static lib, but I will test ist in the next days
> 
> Welcome to Microsoft Windows.
> 
> Forget about shared libraries. Here symbols have to be explicitly "exported".
> 
> You really ought to read a lot. Developing software on Microsoft
> Windows is orders of magnitude harder than on unix systems.
> 
yes, OSX, BSD and Linux are easy. My scons build script for unix systems are
very small on windows I need a lot different checks and options. 
Phil
> --
> Francis Bolduc, B.Sc.
> 
> 
> On Sun, Aug 19, 2012 at 11:20 AM, Matthieu Brucher
> <matthieu.brucher at gmail.com> wrote:
>> No, the .lib is created by the compiler, but you have to specify which
>> function can be accessible by the program and exported:
>> http://msdn.microsoft.com/en-us/library/3y1sfaz2.aspx
>> 
>> 
>> Cheers,
>> 
>> Matthieu
>> 
>> 2012/8/19 Kraus Philipp <philipp.kraus at flashpixx.de>
>>> 
>>> Hi,
>>> 
>>> yes I'm developing primary under unix systems, so there exists a *.so
>>> or/and *.a file and they are independed.
>>> I will read the chapter, but how can I realize this in / with scons? I
>>> would like to link the DLL in my program
>>> 
>>> Should I create a env.Library first and pass the result to
>>> env.SharedLibrary and this output to the env.Install?
>>> 
>>> Thanks
>>> 
>>> Phil
>>> 
>>> 
>>> Am 19.08.2012 um 16:25 schrieb Matthieu Brucher:
>>> 
>>> Hi,
>>> 
>>> That's because the build process should return 2 files, the dll and the
>>> lib file. The first is the one you deploy, but the second is the one that is
>>> needed to link an application. Linux doesn't define something like that, I
>>> suggest you read the MSDN chapter on shared libraries and exported
>>> functions/classes/methods/...
>>> 
>>> Matthieu
>>> 
>>> 2012/8/19 Philipp Kraus <philipp.kraus at flashpixx.de>
>>>> 
>>>> Hi Matthieu,
>>>> 
>>>> 
>>>> thanks for your answer, but I don't understand the answer.
>>>> 
>>>> I call scons in the Visual Studio CommandLine and build a shared library
>>>> with env.SharedLibrary
>>>> 
>>>> The result of this call is passed to env.Install and if the scons script
>>>> runs, the error is shown after building.
>>>> 
>>>> 
>>>> I found in my build directory the *.dll file, so I think the
>>>> env.SharedLibrary builder works. But the "copy-process"
>>>> 
>>>> breaks with the error, because the env.Install call try to copy two files
>>>> *.dll and *.lib, but the *.lib file does not
>>>> 
>>>> exist. My problem is, to install / copy the builded library into my
>>>> installation directory.
>>>> 
>>>> 
>>>> Phil
>>>> 
>>>> 
>>>> On 2012-08-19 14:53:24 +0200, Matthieu Brucher said:
>>>> 
>>>> 
>>>> Hi Philip,
>>>> 
>>>> 
>>>> The .lib file is not only the name of the static library, for a shared
>>>> library it contains everything needed to link against the dll. It is built
>>>> only if you export something. If you don't export functions, it means that
>>>> you won't be able to link against it, only load it with something like
>>>> "LoadLibrary".
>>>> 
>>>> 
>>>> Cheers,
>>>> 
>>>> 
>>>> Matthieu
>>>> 
>>>> 
>>>> 2012/8/19 Kraus Philipp <philipp.kraus at flashpixx.de>
>>>> 
>>>> 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
>>>> 
>>>> 
>>>> How can I solve this problem?
>>>> 
>>>> 
>>>> Thanks
>>>> 
>>>> 
>>>> Phil
>>>> 
>>>> 
>>>> _______________________________________________
>>>> 
>>>> Scons-users mailing list
>>>> 
>>>> Scons-users at scons.org
>>>> 
>>>> http://four.pairlist.net/mailman/listinfo/scons-users
>>>> 
>>>> 
>>>> 
>>>> 
>>>> --
>>>> 
>>>> Information System Engineer, Ph.D.
>>>> 
>>>> Blog: http://matt.eifelle.com
>>>> 
>>>> LinkedIn: http://www.linkedin.com/in/matthieubrucher
>>>> 
>>>> Music band: http://liliejay.com/
>>>> 
>>>> 
>>>> _______________________________________________
>>>> 
>>>> Scons-users mailing list
>>>> 
>>>> Scons-users at scons.org
>>>> 
>>>> http://four.pairlist.net/mailman/listinfo/scons-users
>>>> 
>>>> 
>>>> 
>>>> _______________________________________________
>>>> Scons-users mailing list
>>>> Scons-users at scons.org
>>>> http://four.pairlist.net/mailman/listinfo/scons-users
>>>> 
>>> 
>>> 
>>> 
>>> --
>>> Information System Engineer, Ph.D.
>>> Blog: http://matt.eifelle.com
>>> LinkedIn: http://www.linkedin.com/in/matthieubrucher
>>> Music band: http://liliejay.com/
>>> 
>>> _______________________________________________
>>> Scons-users mailing list
>>> Scons-users at scons.org
>>> http://four.pairlist.net/mailman/listinfo/scons-users
>>> 
>>> 
>>> 
>>> _______________________________________________
>>> Scons-users mailing list
>>> Scons-users at scons.org
>>> http://four.pairlist.net/mailman/listinfo/scons-users
>>> 
>> 
>> 
>> 
>> --
>> Information System Engineer, Ph.D.
>> Blog: http://matt.eifelle.com
>> LinkedIn: http://www.linkedin.com/in/matthieubrucher
>> Music band: http://liliejay.com/
>> 
>> 
>> _______________________________________________
>> Scons-users mailing list
>> Scons-users at scons.org
>> http://four.pairlist.net/mailman/listinfo/scons-users
>> 
> _______________________________________________
> Scons-users mailing list
> Scons-users at scons.org
> http://four.pairlist.net/mailman/listinfo/scons-users
    
    
More information about the Scons-users
mailing list