Попытка выяснить, почему простая функция c, скомпилированная с MinGW, может без проблем вызываться в Julia, но та же, скомпилированная с MSBuild (12.0), не будет работать.Я использую Julia 64bit, и я проверил, что функция c, скомпилированная в обоих направлениях, является 64-битной DLL.Я использую cmake для создания файла make
код Джулии:
println("hello world")
t = ccall((:giveMin, "C:\\MyProjects\\Julia-Tests\\some-c-lib\\build-mingw\\src\\libgetMinimum.dll"), Int32, ())
print(t)
Код c:
int givemin(void);
int giveMin(void){
int minval = 0;
return minval;
}
Как было сказано ранее.Код Julia будет работать только с dll, сгенерированным MinGW, но в другом случае будет выдана следующая ошибка:
ccall: не удалось найти функцию giveMin в библиотеке