More adventures with libmtp
So even though I managed to get libmtp compiled under Windows, I can't get it to work with Node.js. I've decided to take the same approach as what I did with ffmpeg's libavutil library, and cross-compile it under Linux instead.
To do this, I needed mingw64 on my Linux machine:
sudo apt-get install mingw-w64 sudo apt-get install mingw-w64-tools
It doesn't look like libusb has been pre-compiled for mingw64 on Linux, so I had to do the following:
git clone https://github.com/libusb/libusb.git git checkout v1.0.23 ./autogen.sh ./configure --host=x86_64-w64-mingw32 make DESTDIR=$HOME/Code/mingw64/ make install
This installs the libusb library (compiled for Windows) under
$HOME/Code/mingw64/. Then I had to configure libmtp to use our Windows libusb build:
PKG_CONFIG_PATH=$HOME/Code/mingw64/usr/local/lib/pkgconfig ./configure --host=x86_64-w64-mingw32 make
Again I had to fix
unicode.c to get it working. I should submit this work as a PR to libmtp.
Next step: Try to get this working in as a native Node.js addon.
I’m publishing this as part of 100 Days To Offload. You can join in yourself by visiting https://100daystooffload.com.