On Monday, 10 July 2023 at 14:09:47 UTC, Kagamin wrote:
You try to use C declarations, but they are specific to each C
library, and different C libraries have different declarations,
so headers can't decide which C library declarations to use.
Try -mtriple=riscv32-unknown-linux
It seems to be somewhat transformative, this at least gets me
different errors :).
Where does this `-unknown-linux` postfix come from? `ldc2
-version`/`-help` did not mention it.
```
C:\Program Files\LDC 1.32\bin\..\import\core\stdc\stdio.d(1308):
Error: function `core.stdc.stdio.vfprintf` `pragma(printf)`
functions must be `extern(C) int vfprintf([parameters...],
const(char)*, va_list)`
C:\Program Files\LDC 1.32\bin\..\import\core\stdc\stdio.d(1311):
Error: function `core.stdc.stdio.__isoc99_vfscanf`
`pragma(scanf)` functions must be `extern(C) int
__isoc99_vfscanf([parameters...], const(char)*, va_list)`
et cetera
```
For reference, this code is purely:
```
module overig.app;
import std.stdio: writeln, readln;
int foo(int a, int b){
return a+b;
}
void main() {
int a = foo(1,2);
writeln(a);
}
```