I try to cross-compile libplist (https://github.com/libimobiledevice/libplist) for 64-bit Windows and create a DLL from it. I downloaded mingw-w64 for Linux subsystem on Windows 10 (Ubuntu 14.04 bash) and set the environment variables (CC, CXX, CPP, RANLIB). I use ./autogen.sh --host=x86_64-w64-mingw32
to configure package. However it exits with the error:
configure:16825: error:
Could not link test program to Python. Maybe the main Python library has been
installed in some non-standard library path. If so, pass it to configure,
via the LDFLAGS environment variable.
Example: ./configure LDFLAGS="-L/usr/non-standard-path/python/lib"
============================================================================
ERROR!
You probably have to install the development version of the Python package
for your distribution. The exact name of this package varies among them.
============================================================================
In config.log
it says:
configure:16813: x86_64-w64-mingw32-gcc -o conftest.exe -g -O2 -I/usr/include/python2.7 -I/usr/include/x86_64-linux-g$
In file included from /usr/include/python2.7/Python.h:8:0,
from conftest.c:33:
/usr/include/python2.7/pyconfig.h:78:3: error: #error unknown multiarch location for pyconfig.h
# error unknown multiarch location for pyconfig.h
^
In file included from /usr/include/python2.7/pyport.h:4:0,
from /usr/include/python2.7/Python.h:58,
from conftest.c:33:
/usr/include/python2.7/pyconfig.h:78:3: error: #error unknown multiarch location for pyconfig.h
# error unknown multiarch location for pyconfig.h
^
In file included from /usr/include/python2.7/pymath.h:4:0,
from /usr/include/python2.7/Python.h:77,
from conftest.c:33:
/usr/include/python2.7/pyconfig.h:78:3: error: #error unknown multiarch location for pyconfig.h
# error unknown multiarch location for pyconfig.h
^
configure:16813: $? = 1
It doesn't return this error when I try to compile it for Linux, so I thought that it's because it needs python libraries compiled for Windows x86_64. I copied the appropriate files from Windows from C:/Python27/include
and tried to set environment variable for configuration LDFLAGS="-L/path/to/python/include"
and PKG_CONFIG_PATH=/path/to/python/include
separately. Neither of them worked. I also noticed, that in C:/Python27/include
there was also a file called pyconfig.h
.Why does the script uses the one installed on Linux? Is there a way I could force it to use the other one?
My main objective would be to make a 64-bit Windows DLL from libusbmuxd (https://github.com/libimobiledevice/libusbmuxd), but it needs libplist to be compiled too. How could I solve this issue? Thanks for the answers in advance.