(no subject)

Kevin Atkinson kevina at gnu.org
Sun Dec 21 21:22:45 CST 2003


I am having a problem compiling a simple winelib program which relies on
a dll which uses the stdcall calling convention.  I used pexports on the 
dll avisynth_c.dll to created the spec and then edited the file to removed 
the leading underscore in the names (without that it would not link).  
That file is attached.  Than with only "avisynth_c.h", "avs2yuv.cpp" and 
"libavisynth_c.def" in the current directory. I ran 
  winemaker --console -iavisynth_c --single-target avs2yuv.exe .
  ./configure --with-wine=/opt/wine/
  make
then I copy the required DLL in the current directory and attempt to run 
it.  But I get:

./avs2yuv
err:module:import_dll No implementation for 
avisynth_c.dll.avs_create_script_environment imported from 
L"C:\\WINDOWS\\SYSTEM\\avs2yuv.exe", setting to 0xdeadbeef
err:module:import_dll No implementation for avisynth_c.dll.avs_get_frame 
imported from L"C:\\WINDOWS\\SYSTEM\\avs2yuv.exe", setting to 0xdeadbeef
err:module:import_dll No implementation for 
avisynth_c.dll.avs_get_video_info imported from 
L"C:\\WINDOWS\\SYSTEM\\avs2yuv.exe", setting to 0xdeadbeef
err:module:import_dll No implementation for avisynth_c.dll.avs_invoke 
imported from L"C:\\WINDOWS\\SYSTEM\\avs2yuv.exe", setting to 0xdeadbeef
err:module:import_dll No implementation for 
avisynth_c.dll.avs_release_value imported from 
L"C:\\WINDOWS\\SYSTEM\\avs2yuv.exe", setting to 0xdeadbeef
err:module:import_dll No implementation for 
avisynth_c.dll.avs_release_video_frame imported from 
L"C:\\WINDOWS\\SYSTEM\\avs2yuv.exe", setting to 0xdeadbeef
err:module:import_dll No implementation for avisynth_c.dll.avs_take_clip 
imported from L"C:\\WINDOWS\\SYSTEM\\avs2yuv.exe", setting to 0xdeadbeef
Usage avs2yuv4mpeg <avsfile> <outfile>

Does anyone know what is going on.  Here is the output of make if it will 
help:

sed -e 's, at bindir\@,/usr/local/bin,g' -e 's, at winelibdir\@,.,g' 
./wineapploader.in >wineapploader || rm -f wineapploader
LD_LIBRARY_PATH="/opt/wine//lib:$LD_LIBRARY_PATH" /opt/wine//bin/winebuild 
-o avs2yuv.exe.dbg.c --debug -C.  avs2yuv.cpp
gcc -c  -I.  -I/opt/wine//include/wine/windows -g -O2 -fPIC    
-D_REENTRANT -o avs2yuv.exe.dbg.o avs2yuv.exe.dbg.c
g++ -c  -I.  -I/opt/wine//include/wine/windows -g -O2 -fpermissive 
-fno-for-scope    -D_REENTRANT -o avs2yuv.o avs2yuv.cpp
LD_LIBRARY_PATH="/opt/wine//lib:$LD_LIBRARY_PATH" /opt/wine//bin/winebuild 
-fPIC -o avs2yuv.exe.spec.c --exe avs2yuv.exe -mcui    avs2yuv.o   
-L/opt/wine//lib/wine   -lavisynth_c
gcc -c  -I.  -I/opt/wine//include/wine/windows -g -O2 -fPIC    
-D_REENTRANT -o avs2yuv.exe.spec.o avs2yuv.exe.spec.c
g++ -shared -Wl,-Bsymbolic -o avs2yuv.exe.so  avs2yuv.o  avs2yuv.exe.dbg.o 
avs2yuv.exe.spec.o    -L/opt/wine//lib    -lwine -lwine_unicode 
-lwine_uuid -lm
test -f avs2yuv || install ./wineapploader avs2yuv

I attached the zip file with the source and any files I thought were 
relevant.  If required I can send additional files dll's in a private 
email (such as the required dll's).

Wine version 20031212 built from source on a RedHat System.  I had the 
exact same problem when I used the debs from unstable (also 
version 20031212) on a libranet system.

Is this a bug, or am I doing something wrong?

When I used a a version of avisynth_c.dll which used cdecl on all API
functions -- without changing the .def or header files -- instead of
stdlib I do not have this problem.  Naturally I do not expect it to run
since I didn't recompile my code with the proper header files.  I discovered
this by accident because the previous version used cdecl and I had some
old dll laying around in a place wine was able to find.

Can anyone help me get this working?  Am I doing something wrong or is 
this a bug in wine?

Thanks in advance.
---
http://kevin.atkinson.dhs.org
-------------- next part --------------
LIBRARY avisynth_c.dll



EXPORTS

  AvisynthPluginInit2 at 4  	@1

  avs_add_function at 20    	@2

  avs_at_exit at 12         	@3

  avs_bit_blt at 28         	@4

  avs_check_version at 8    	@5

  avs_clip_get_error at 4   	@6

  avs_copy_clip at 4        	@7

  avs_copy_value at 12      	@8

  avs_copy_video_frame at 4 	@9

  avs_create_script_environment at 4	@10

  avs_function_exists at 8  	@11

  avs_get_audio at 24       	@12

  avs_get_cpu_flags at 4    	@13

  avs_get_frame at 8        	@14

  avs_get_parity at 8       	@15

  avs_get_var at 8          	@16

  avs_get_version at 4      	@17

  avs_get_video_info at 4   	@18

  avs_invoke at 20          	@19

  avs_make_writable at 8    	@20

  avs_new_c_filter at 20    	@21

  avs_new_video_frame_a at 12	@22

  avs_release_clip at 4     	@23

  avs_release_value at 8    	@24

  avs_release_video_frame at 4	@25

  avs_save_string at 12     	@26

  avs_set_cache_hints at 12 	@27

  avs_set_global_var at 16  	@28

  avs_set_memory_max at 8   	@29

  avs_set_to_clip at 8      	@30

  avs_set_var at 16         	@31

  avs_set_working_dir at 8  	@32

  avs_subframe at 24        	@34

  avs_take_clip at 12       	@35

  avs_vsprintf at 12        	@36

  avs_sprintf             	@33

-------------- next part --------------
A non-text attachment was scrubbed...
Name: avs2yuv.zip
Type: application/zip
Size: 18362 bytes
Desc: 
Url : http://www.winehq.org/pipermail/wine-devel/attachments/20031221/f502d0f0/avs2yuv.zip


More information about the wine-devel mailing list