[Scons-users] Windows resource files and variant builds
Tom Tanner
trtanner at btinternet.com
Tue Mar 17 16:04:42 EDT 2015
I don't think 'rc' understands that. I can have a try.
On 17/03/2015 17:43, Bill Deegan wrote:
> 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
> <mailto: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 <mailto: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>
>> <mailto: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>
>> <mailto: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 <mailto:Scons-users at scons.org>
>> https://pairlist4.pair.net/mailman/listinfo/scons-users
>>
>>
>> _______________________________________________
>> 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 <mailto:Scons-users at scons.org>
>> https://pairlist4.pair.net/mailman/listinfo/scons-users
>
>
> _______________________________________________
> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist4.pair.net/pipermail/scons-users/attachments/20150317/c8861d8d/attachment-0001.html>
More information about the Scons-users
mailing list