[erlang-questions] nif problem in windows

Janos Hary janos.n.hary@REDACTED
Tue May 7 19:06:01 CEST 2013

Your error message says ‘priv/hello’. Check the path in your erlang:load_nif.


From: erlang-questions-bounces@REDACTED [mailto:erlang-questions-bounces@REDACTED] On Behalf Of ???
Sent: Tuesday, May 07, 2013 3:15 PM
To: Dave Cottlehuber
Cc: erlang-questions
Subject: Re: [erlang-questions] nif problem in windows


hi, Dave,


Thanks for you replying, I try your example and it is return the same error I wrote before, here is the output:


E:\firefox_download\hellonif-master>rebar.cmd compile

==> hellonif-master (compile)

Compiled src/hello.erl

Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 14.00.50727.42 for 80x86

Copyright (C) Microsoft Corporation.  All rights reserved.



D:\Program Files (x86)\Microsoft Visual Studio 8\VC\INCLUDE\stdlib.h(215) : warn

ing C4255: '_get_purecall_handler' : no function prototype given: converting '()

' to '(void)'

d:\PROGRA~2\ERL510~1.1\erts-5.10.1\include\erl_nif.h(132) : warning C4820: '<unn

amed-tag>' : '4' bytes padding added after data member 'ref_bin'

c_src/hello.c(3) : warning C4100: 'argv' : unreferenced formal parameter

c_src/hello.c(3) : warning C4100: 'argc' : unreferenced formal parameter

c_src/hello.c(13) : warning C4013: 'memcpy' undefined; assuming extern returning


Microsoft (R) Incremental Linker Version 8.00.50727.42

Copyright (C) Microsoft Corporation.  All rights reserved.


   正在创建库 priv/hello.lib 和对象 priv/hello.exp



E:\firefox_download\hellonif-master>erl -pa ebin

Eshell V5.10.1  (abort with ^G)

1> hello:init().

{error,{load_failed,"Failed to load NIF library priv/hello: 'Unspecified error'"


2> hello:world().

"NIF library not loaded"




Notice that, I change the code hello.erl slightly, it catch all the error when erlang:load_nif, I delete it, so it can output the error message

I using operating system win7, is it matters?






From: Dave Cottlehuber <mailto:dch@REDACTED> 

Date: 2013-05-07 19:37

To: erlang-questions <mailto:erlang-questions@REDACTED> 

Subject: Re: [erlang-questions] nif problem in windows

On 7 May 2013 12:00, 韦崇焜 <wckbluesky@REDACTED> wrote:


I am testing nif in windows right now, the nif c code is very simple and it is copyed directly from http://www.erlang.org/doc/tutorial/nif.html#id64988

All the code is running well in Linux, and c code is compiled to .so in linux, .dll in windows

Everything is ok before I running "c(complex6)" in erlang VM, in windows,

it reports

=ERROR REPORT==== 7-May-2013::17:36:19 ===
Error in process <0.70.0> with exit value: {{badmatch,{error,{load_failed,"Faile
d to load NIF library ./complex6_nif: 'Unspecified error'"}}},[{complex6,init,0,

=ERROR REPORT==== 7-May-2013::17:36:19 ===
The on_load function for module complex6 returned {{badmatch,
                                                      "Failed to load NIF library ./complex6_nif: 'Unspecified error'"}}},

It is hard to find some useful information in google.
Can anyone tell how to fix it?


Hi ckwei,


It might be useful to paste some of the source code that isn't working for you. I don't have windows handy, but here's a NIF example that works on both Windows using command shell and SDK 7.1,  and LInux, that Volker & I did last year. The erlang side NIF loader was poached from one of Paul Davis' projects IIRC.









-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20130507/ad549b90/attachment.htm>

More information about the erlang-questions mailing list