Oops. Sorry that I left the subject off.
On Sun, 21 Dec 2003, Kevin Atkinson wrote:
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,@bindir@,/usr/local/bin,g' -e 's,@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.