[Scons-users] Windows resource files and variant builds

Bill Deegan bill at baddogconsulting.com
Tue Mar 17 13:43:36 EDT 2015


Tom,

Can you use LINKPATH or such to point to the dll and then not have to have
the path in the file at all?

-Bill

On Tue, Mar 17, 2015 at 10:25 AM, Tom Tanner <trtanner at btinternet.com>
wrote:

>  That's great, thanks.
>
> Still horrible, mind you, but not so horrible as it might be!
>
>
> On 17/03/2015 16:48, Bill Deegan wrote:
>
>  Does other.path work?
>  -Bill
>
> On Tue, Mar 17, 2015 at 8:38 AM, Tom Tanner <trtanner at btinternet.com>
> wrote:
>
>> The problem is that the .res file contains a path to a .dll, which when
>> the resource is compiled, causes rc to attempt to read the dll. And the dll
>> in question is part of the build of this project.
>>
>> And with a variant dir, you're doing the build from above where the files
>> get stored, so ..\\..\\etc points to outer space.
>>
>> In order to get the rc file to be compiled, you need to specify something
>> like
>>
>> IDR_LOADER_DLL         BINARY   MOVEABLE  PURE    "<variant
>> dir>\\otherModule\\otherModule.dll"
>>
>> which I have at eventually got round by doing
>>
>> IDR_LOADER_DLL         BINARY   MOVEABLE  PURE    DLL_TO_USE
>>
>> and setting  RCFLAGS like this
>>
>> other=env.File(os.path.join('..','..','otherModule','otherModule.dll'))
>>
>> env.AppendUnique(RCFLAGS=[ '-DDLL_TO_USE="\\"%s\\""'%other.abspath ])
>>
>> and it needs all those double quotes and backslashes! But it'd be nice if
>> I could get a 'path relative to where the SConstruct file is' somehow as
>> that .abspath works out as something depressingly long.
>>
>>
>> On 17/03/2015 15:22, Bill Deegan wrote:
>>
>>> Assuming ../../otherModule is your variantdir, then there's no need to
>>> have the path.
>>> As long as you specify the .res file as a source to the linker, it
>>> should do the right thing.
>>>
>>> -Bill
>>>
>>>   On Tue, Mar 17, 2015 at 6:43 AM, Tom Tanner <trtanner at btinternet.com
>>> <mailto:trtanner at btinternet.com>> wrote:
>>>
>>>
>>>     I've just been putting an scons build into a windows QT project
>>>     and I ran into an interesting thing on a windows
>>>     resource file when using variant dirs
>>>
>>>     The resource file contains this:
>>>
>>>     #ifdef _DEBUG
>>>     IDR_LOADER_DLL         BINARY   MOVEABLE  PURE
>>>     "..\\..\\otherModule\\debug\\otherModule.dll"
>>>
>>>     #else  //  _DEBUG
>>>
>>>     IDR_LOADER_DLL         BINARY   MOVEABLE  PURE
>>>     "..\\..\\otherModule\\release\\otherModule.dll"
>>>
>>>     #endif  //  _DEBUG
>>>
>>>     and I'm rather at a lose at what to put in there. Clearly I can
>>>     get rid of the 'debug' and 'release' bits, but
>>>     it seems like I want to put the <variantdir>\\ in there somehow.
>>>     And I'm somewhere in an SConscript file which
>>>     doesn't know what they are.
>>>
>>>     The other thing I'm having a problem with is that presumably the
>>>     generated file will depend on the dll. Now, there's
>>>     a build for the dll, but if I put
>>>
>>>     env.Depends('my.res','..\\..\\otherModule\\otherModule.dll')
>>>
>>>     I get:
>>>
>>>     Explicit dependency `source\otherModule\\otherModule.dll' not found
>>>
>>>     But that module is built by another SConscript in the same build.
>>>     But obviously it's not in 'source'
>>>
>>>     _______________________________________________
>>>     Scons-users mailing list
>>>      Scons-users at scons.org <mailto:Scons-users at scons.org>
>>>     https://pairlist4.pair.net/mailman/listinfo/scons-users
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Scons-users mailing list
>>> Scons-users at scons.org
>>> https://pairlist4.pair.net/mailman/listinfo/scons-users
>>>
>>
>> _______________________________________________
>> Scons-users mailing list
>> Scons-users at scons.org
>> https://pairlist4.pair.net/mailman/listinfo/scons-users
>>
>
>
>
> _______________________________________________
> Scons-users mailing listScons-users at scons.orghttps://pairlist4.pair.net/mailman/listinfo/scons-users
>
>
>
> _______________________________________________
> Scons-users mailing list
> Scons-users at scons.org
> https://pairlist4.pair.net/mailman/listinfo/scons-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist4.pair.net/pipermail/scons-users/attachments/20150317/b436d3fb/attachment-0001.html>


More information about the Scons-users mailing list