Hi all,
I'm using the Linux to MinGW cross compiler toolchain to build
windows binaries for one of my libraries. I'm also trying to
run the cross-compiled binaries that make up the test suite
under wine version 0.9.58 from ubuntu hardy heron.
The DLL for my library gets built as:
/home/erikd/Bzr/libsndfile-mingw/src/.libs/libsndfile-1.dll
and the test suite binaries get built in:
/home/erikd/Bzr/libsndfile-mingw/tests
If I go into that directory and run the following script:
#!/bin/bash
dll=libsndfile-1.dll
dlldir=/home/erikd/Bzr/libsndfile-mingw/src/.libs
if [ ! -f "$dlldir/$dll" ]; then
echo "Can't find DLL."
exit 1
fi
export WINEDLLPATH="$dlldir:$WINEDLLPATH"
exe=.libs/floating_point_test.exe
if [ -f $exe ]; then
exec $exe
fi
I get the following error message:
err:module:import_dll Library libsndfile-1.dll (which is needed
by
L"Z:\\home\\erikd\\Bzr\\libsndfile-mingw\\tests\\.libs\\floating_point_test.exe")
not found
err:module:LdrInitializeThunk Main exe initialization for
L"Z:\\home\\erikd\\Bzr\\libsndfile-mingw\\tests\\.libs\\floating_point_test.exe"
failed, status c0000135
However, if I add a symbolic link in the current directory that links
to the DLL:
ln -s ../src/.libs/libsndfile-1.dll libsndfile-1.dll
it works.
Can anybody explain why the WINEDLLPATH doesn't seem to get picked
up?
Cheers,
Erik
--
-----------------------------------------------------------------
Erik de Castro Lopo
-----------------------------------------------------------------
"C makes it easy to shoot yourself in the foot. C++ makes it
harder, but when you do, you blow away your whole leg!"
-- Bjarne Stroustrup