2016-08-30 12 views
1

64ビットWindows用のlibplist(https://github.com/libimobiledevice/libplist)をクロスコンパイルし、そこからDLLを作成しようとしています。 Windows 10(Ubuntu 14.04 bash)にLinuxサブシステム用mingw-w64をダウンロードし、環境変数(CC、CXX、CPP、RANLIB)を設定しました。私は./autogen.sh --host=x86_64-w64-mingw32を使ってパッケージを設定します。しかし、それはエラーで終了します。Windows Pythonエラーのクロスコンパイルエラー

config.log
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. 
    ============================================================================ 

それは言う:

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 

私は、Linuxのためにそれをコンパイルしようとすると、それはこのエラーを返しませんので、私はそれが必要なため、それはだと思いましたWindows x86_64用にコンパイルされたPythonライブラリ私はWindowsから適切なファイルをC:/Python27/includeからコピーし、構成の環境変数をLDFLAGS="-L/path/to/python/include"PKG_CONFIG_PATH=/path/to/python/includeに分けて設定しようとしました。どちらも働いていませんでした。私はまた、にはpyconfig.hというファイルもあることに気付きました。なぜスクリプトはLinuxにインストールされているものを使用していますか?もう片方を使うように強制する方法はありますか?

私の主な目的は、libusbmuxd(https://github.com/libimobiledevice/libusbmuxd)から64ビットWindows DLLを作成することですが、コンパイルするにはlibplistも必要です。どうすればこの問題を解決できますか?事前にお返事ありがとうございます。

答えて

0

あなたはlibimobiledevice-win32を試すことができます。名前はちょっと混乱しますが、32ビット版と64ビット版のlibimobiledeviceがビルドされています。

あなたは、コンパイルを横断する必要がなくなり、libplist、libusbmuxd、libimobildeviceおよびVisual Studioを使用して、Windows用の各種ユーティリティをコンパイルすることができます。

私が働いている会社、Quamotionは、libimobiledevice-win32のを維持し、我々は最新のアップストリームの変更をトラックに滞在してみてください。

プリコンパイルされたバージョンは、CIビルドからダウンロードできます。最新のビットを含むzipファイル用のhttps://ci.appveyor.com/project/qmfrederik/imobiledevice-net/build/artifacts