in reply to Re^3: Inline::C and Dist::Zilla
in thread Inline::C and Dist::Zilla

Thank you, syphilis

Yep, I have gathered depend DLLs when noisy popup appears. They are located at the same directory where is my-binary.exe.

Is there any way to hide them in some sub-directory?

PS. I have added linker flags:

-static-libstdc++ -static-libgcc

, but that helped me not: I'm still forced to ship libstdc++-6.dll and libgcc_s_dw2-1.dll

WBR, basiliscos.

Replies are listed 'Best First'.
Re^5: Inline::C and Dist::Zilla
by syphilis (Archbishop) on Nov 18, 2014 at 23:12 UTC
    Is there any way to hide them in some sub-directory?

    They just need to be either in the same directory as the dll that needs them, or a directory that's in the path.
    If you want to put them in some sub-folder that's not necessarily in the path, it *might* (untested) work if your Inline::C script were to start with:
    BEGIN { $ENV{PATH} .= ";.\\wherever\\they\\are;" };
    It seems odd that you're still forced to ship those 2 dll files. You did add those flags to 'g++', and not 'gcc' ?
    If you build your script with BUILD_NOISY you'll be able to check the output to see that they were present when the g++ command was run.
    The other thing you can do is to check that the Inline::C dll doesn't contain a dependency on either of those 2 gcc dlls:
    objdump -x your_I-C.dll | grep "DLL Name"
    If the output of that mentions either of the 2 gcc dlls, then the Inline::C build wasn't done right.
    And if the output does *not* mention either of the 2 gcc dlls, but you still need to ship them, then it must be some other dll that depends upon them. (If you're not shipping any other dlls then perhaps there's something wrong with the path setting on the client machine.)

    Cheers,
    Rob