<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=UTF-8" http-equiv=Content-Type>
<STYLE>
BLOCKQUOTE {
        MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px; MARGIN-LEFT: 2em
}
OL {
        MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px
}
UL {
        MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px
}
DIV.FoxDiv20130507211033713906 {
        COLOR: #000000
}
P {
        MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px
}
BODY {
        LINE-HEIGHT: 1.5; FONT-FAMILY: 微软雅黑; COLOR: #000080; FONT-SIZE: 10.5pt
}
</STYLE>

<META name=GENERATOR content="MSHTML 8.00.7600.17267"></HEAD>
<BODY style="MARGIN: 10px">
<DIV>hi, Dave,</DIV>
<DIV> </DIV>
<DIV>Thanks for you replying, I try your example and it is return the same error 
I wrote before, here is the output:</DIV>
<DIV> </DIV>
<DIV>
<DIV>E:\firefox_download\hellonif-master>rebar.cmd compile</DIV>
<DIV>==> hellonif-master (compile)</DIV>
<DIV>Compiled src/hello.erl</DIV>
<DIV>
<DIV>Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 14.00.50727.42 for 80x86</DIV>
<DIV>Copyright (C) Microsoft Corporation.  All rights reserved.</DIV>
<DIV> </DIV>
<DIV>hello.c</DIV>
<DIV>D:\Program Files (x86)\Microsoft Visual Studio 8\VC\INCLUDE\stdlib.h(215) : warn</DIV>
<DIV>ing C4255: '_get_purecall_handler' : no function prototype given: converting '()</DIV>
<DIV>' to '(void)'</DIV>
<DIV>d:\PROGRA~2\ERL510~1.1\erts-5.10.1\include\erl_nif.h(132) : warning C4820: '<unn</DIV>
<DIV>amed-tag>' : '4' bytes padding added after data member 'ref_bin'</DIV>
<DIV>c_src/hello.c(3) : warning C4100: 'argv' : unreferenced formal parameter</DIV>
<DIV>c_src/hello.c(3) : warning C4100: 'argc' : unreferenced formal parameter</DIV>
<DIV>c_src/hello.c(13) : warning C4013: 'memcpy' undefined; assuming extern returning</DIV>
<DIV> int</DIV>
<DIV>Microsoft (R) Incremental Linker Version 8.00.50727.42</DIV>
<DIV>Copyright (C) Microsoft Corporation.  All rights reserved.</DIV>
<DIV> </DIV>
<DIV>   正在创建库 priv/hello.lib 和对象 priv/hello.exp</DIV></DIV>
<DIV> </DIV>
<DIV> </DIV>
<DIV>E:\firefox_download\hellonif-master>erl -pa ebin</DIV>
<DIV>Eshell V5.10.1  (abort with ^G)</DIV>
<DIV>1> hello:init().</DIV>
<DIV>{error,{load_failed,"Failed to load NIF library priv/hello: 'Unspecified error'"</DIV>
<DIV>}}</DIV>
<DIV>2> hello:world().</DIV>
<DIV>"NIF library not loaded"</DIV>
<DIV>3></DIV></DIV>
<DIV> </DIV>
<DIV> </DIV>
<DIV>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</DIV>
<DIV>I using operating system win7, is it matters?</DIV>
<DIV> </DIV>
<DIV> </DIV>
<HR style="WIDTH: 210px; HEIGHT: 1px" align=left color=#b5c4df SIZE=1>

<DIV><SPAN>ckwei</SPAN></DIV>
<DIV> </DIV>
<DIV 
style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: #b5c4df 1pt solid; BORDER-RIGHT: medium none; PADDING-TOP: 3pt">
<DIV 
style="PADDING-BOTTOM: 8px; PADDING-LEFT: 8px; PADDING-RIGHT: 8px; BACKGROUND: #efefef; COLOR: #000000; FONT-SIZE: 12px; PADDING-TOP: 8px">
<DIV><B>From:</B> <A href="mailto:dch@jsonified.com">Dave 
Cottlehuber</A></DIV>
<DIV><B>Date:</B> 2013-05-07 19:37</DIV>
<DIV><B>To:</B> <A 
href="mailto:erlang-questions@erlang.org">erlang-questions</A></DIV>
<DIV><B>Subject:</B> Re: [erlang-questions] nif problem in 
windows</DIV></DIV></DIV>
<DIV>
<DIV class=FoxDiv20130507211033713906>
<DIV class=gmail_quote>
<DIV class=HOEnZb>
<DIV class=h5>On 7 May 2013 12:00, 韦崇焜 <SPAN dir=ltr><<A 
href="mailto:wckbluesky@yahoo.com.cn" 
target=_blank>wckbluesky@yahoo.com.cn</A>></SPAN> wrote:<BR></DIV></DIV>
<DIV class=gmail_quote>
<DIV>
<DIV class=h5>
<BLOCKQUOTE 
style="BORDER-LEFT: #ccc 1px solid; MARGIN: 0px 0px 0px 0.8ex; PADDING-LEFT: 1ex" 
class=gmail_quote>hi<BR><BR>I am testing nif in windows right now, the nif c 
  code is very simple and it is copyed directly from <A 
  href="http://www.erlang.org/doc/tutorial/nif.html#id64988" 
  target=_blank>http://www.erlang.org/doc/tutorial/nif.html#id64988</A><BR><BR>All 
  the code is running well in Linux, and c code is compiled to .so in linux, 
  .dll in windows<BR><BR>Everything is ok before I running "c(complex6)" in 
  erlang VM, in windows,<BR><BR>it reports<BR><BR>=ERROR REPORT==== 
  7-May-2013::17:36:19 ===<BR>Error in process <0.70.0> with exit value: 
  {{badmatch,{error,{load_failed,"Faile<BR>d to load NIF library ./complex6_nif: 
  'Unspecified 
  error'"}}},[{complex6,init,0,<BR>[{file,"complex6.erl"},{line,7}]},{code_server,'-handle_on_load/4-fun-0-',1,[{fi<BR>le,"code_server.erl"},...<BR><BR><BR>=ERROR 
  REPORT==== 7-May-2013::17:36:19 ===<BR>The on_load function for module 
  complex6 returned {{badmatch,<BR>            
                        
                    
  {error,<BR>                  
                        
               {load_failed,<BR>    
                        
                        
        "Failed to load NIF library ./complex6_nif: 'Unspecified 
  error'"}}},<BR>                  
                        
             [{complex6,init,0,<BR>    
                        
                        
       [{file,...},{...}]},<BR>          
                        
                      
  {code_server,<BR>                
                        
                
   '-handle_on_load/4-fun-0-',<BR>            
                        
                    
   1,<BR>                  
                        
              
   [{...}|...]}]}<BR>{error,on_load_failure}<BR><BR>It is hard to find some 
  useful information in google.<BR>Can anyone tell how to fix 
it?<BR><BR></BLOCKQUOTE>
<DIV><BR></DIV></DIV></DIV>
<DIV>Hi ckwei,</DIV>
<DIV><BR></DIV>
<DIV>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.</DIV>
<DIV><BR></DIV>
<DIV><A href="https://github.com/vmx/hellonif" 
target=_blank>https://github.com/vmx/hellonif</A></DIV>
<DIV><BR></DIV>
<DIV>A+</DIV><SPAN class=HOEnZb><FONT color=#888888>
<DIV>Dave</DIV>
<DIV> </DIV></FONT></SPAN></DIV><BR></DIV><BR></DIV></DIV></BODY></HTML>