user2329125
user2329125

Reputation:

Calling C functions from julia on windows 7 (64bit)

Version 0.6.0-pre.alpha.34 (2017-03-03 04:10 UTC)

Now all the documentation I ever find for this looks like this

ccall((:clock, "libc"), Int32, ())

The environment I work in doesn't have its libc in his path so I need to specifiy it like this

julia> isfile("C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\lib\\amd64\\msvcrt.lib") 
true
julia> ccall((:clock, "C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\lib\\amd64\\msvcrt.lib"), Int32, ())
ERROR: error compiling anonymous: could not load library "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib\amd64\msvcrt.lib"

So now I don't know what to do. The error message is useless and afaik msvcrt.lib is the windows libc substitute.

Upvotes: 2

Views: 240

Answers (1)

Lutfullah Tomak
Lutfullah Tomak

Reputation: 761

msvcrt.lib is not a dynamic library but msvcrt.dll is and it should be in C:\\Windows\\system32\\msvcrt.dll . Since stadard C library loaded by default ccall can be used :clock without library name.

ccall(:clock,Int32,())

Upvotes: 3

Related Questions