Okay, after looking at gtkd, I don't think this can be solved with module constructors or swapping out to lazy initialization.

One way that might work however is to use a crt_constructor as that runs before the D stuff. However it would now hard code your program to your system. Over all my suspicion is that there is something wrong with your system related to library lookup paths and that should be fixed instead.

```d
void main() {
    import std.stdio;
    import std.process;
    writeln(environment["GTK_BASEPATH"]);
}

pragma(crt_constructor) extern(C) void myEnvironmentVarSetter() {
    import core.sys.posix.stdlib : putenv;
    putenv(cast(char*)"GTK_BASEPATH=~/bin/gtk".ptr);
}
```
  • Forcing my modul... dan via Digitalmars-d-learn
    • Re: Forcing... Richard (Rikki) Andrew Cattermole via Digitalmars-d-learn
      • Re: For... dan via Digitalmars-d-learn
        • Re:... Richard (Rikki) Andrew Cattermole via Digitalmars-d-learn
          • ... dan via Digitalmars-d-learn
            • ... bachmeier via Digitalmars-d-learn
              • ... dan via Digitalmars-d-learn
    • Re: Forcing... Paul Backus via Digitalmars-d-learn

Reply via email to