Winelib Program with DLL problem
Kevin Atkinson
kevina at gnu.org
Sun Dec 21 21:42:27 CST 2003
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, 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
>
--
http://kevin.atkinson.dhs.org
More information about the wine-devel
mailing list