Open mw66 opened 3 years ago
BTW, in Ubuntu, you can setup the ta-lib by:
sudo apt install linuxbrew-wrapper
brew install ta-lib
ldc doesn't like mangled names that are repeated. A workaround is to use dmd.
I've thought the problem is not about mangled names, but about:
%talib._IO_FILE* v.s.
%core.stdc.stdio._IO_FILE*
and in https://github.com/ldc-developers/ldc/issues/2782#issuecomment-495171179
%libxlsxd.xlsxwrap._IO_FILE* v.s.
%core.stdc.stdio._IO_FILE*
i.e. the _IO_FILE become a symbol in the dpp file's package, instead of the standard: core.stdc.stdio._IO_FILE.
My manually modified generated file is here:
https://github.com/mingwugmail/talibd/blob/master/source/talib.d#L67
public import core.stdc.stdio;
...
version (DigitalMars) {
struct _IO_FILE
{...}
}
I think this is the only modification needed for it to work with LDC & DMD compilers, and struct _IO_FILE
is the only offending struct we experienced. Maybe this can be specially handled in dpp
so it will out out-of-box.
Thanks.
Was this added?
Hi, I try to use
https://ta-lib.org/hdr_dw.html
http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz
The D compiler fails:
I manually edited the generated source/talib.d, by adding at the top:
and comment out:
Then it works.
I think this should be fixed by the dpp internally.
(BTW, I googled a bit, and found other people have this same problem too:
https://github.com/ldc-developers/ldc/issues/2782#issuecomment-495171179 )