User forums > Help

Resource compiler directories seems to be ignored

<< < (3/3)

killerbot:
as said : uninitialized variable :

fixed (will be available in tomorrows nightly)

the offending code :

--- Code: ---CompileTargetBase::CompileTargetBase()
    : m_TargetType(ttExecutable)
{
//ctor
    for (int i = 0; i < 4; ++i) // <--------------------------------------------------------- HERE IT IS !!!!!
        m_OptionsRelation[i] = orAppendToParentOptions; 

    // default "make" commands
    m_MakeCommands[mcBuild] =       _T("$make -f $makefile $target");
    m_MakeCommands[mcCompileFile] = _T("$make -f $makefile $file");
    m_MakeCommands[mcClean] =       _T("$make -f $makefile clean$target");
    m_MakeCommands[mcDistClean] =   _T("$make -f $makefile distclean$target");
    m_MakeCommandsModified = false;
}

--- End code ---
we only initialize 4 of them and when we look at the enum ;-)

--- Code: ---enum OptionsRelationType
{
    ortCompilerOptions = 0, /**< Compiler option */
    ortLinkerOptions, /**< Linker option */
    ortIncludeDirs, /**< Compiler include dir option */
    ortLibDirs, /**< Linker include dir option */
    ortResDirs, /**< Resource compiler include dir option */

    ortLast
};

and

        OptionsRelation m_OptionsRelation[ortLast];


--- End code ---
The resources entry is the fifth !!

Solution : replace the magic number 4 by "ortLast". ;-)

iw2nhl:
Wow, I nice bug: easy to solve, but difficult to find...
Good work!

Navigation

[0] Message Index

[*] Previous page

Go to full version