Last time it seems to be pretty easy to build libftdi binaries from the source archive under MSYS2, now it seems to be slightly more difficult. Not so sure if it is related to my system or not.
Ref: http://libftdi.141977.n3.nabble.com/Building-libftdi-under-Windows-with-MSYS2-td4026004.html MSYS2 binary packages seem to be fine but it does not build the examples and documentations. https://github.com/Alexpux/MINGW-packages/blob/master/mingw-w64-libftdi/PKGBUILD 1. It does not seems to build the C++ binding, tests and documentation by default even though I have installed Boost and Doxygen. ephwy@ephwy-HP MINGW32 /c/work/libftdi/libftdi/build32 $ cmake .. -G"MSYS Makefiles" \ > -DCMAKE_INSTALL_PREFIX="${MINGW_PREFIX}" -- Build type: RelWithDebInfo -- Detected git snapshot version: v1.4-12-g91dbb65 -- Building ftdi_eeprom -- Summary of build options: Build static libs: ON Build C++ bindings: OFF Build Python bindings: OFF Build ftdi_eeprom: ON Build examples: ON Build tests: OFF Build API documentation: OFF -- Configuring done -- Generating done -- Build files have been written to: C:/work/libftdi/libftdi/build32 2. So I have to manually enable the above. Then it works fine. ephwy@ephwy-HP MINGW32 /c/work/libftdi/libftdi/build32 $ cmake .. -G"MSYS Makefiles" -DCMAKE_INSTALL_PREFIX="${MINGW_PREFIX}" -DFTDIPP=ON -DBUILD_TESTS=ON -DDOCUMENTATION=ON -- Build type: RelWithDebInfo -- Boost version: 1.67.0 -- Found Doxygen: C:/msys64/usr/bin/doxygen.exe (found version "1.8.13") found components: doxygen missing components: dot -- Detected git snapshot version: v1.4-12-g91dbb65 -- Building ftdi_eeprom -- Boost version: 1.67.0 -- Found the following Boost libraries: -- unit_test_framework -- Summary of build options: Build static libs: ON Build C++ bindings: ON Build Python bindings: OFF Build ftdi_eeprom: ON Build examples: ON Build tests: ON Build API documentation: ON -- Configuring done -- Generating done -- Build files have been written to: C:/work/libftdi/libftdi/build32 ephwy@ephwy-HP MINGW32 /c/work/libftdi/libftdi/build32 $ make Scanning dependencies of target docs [ 2%] Generating doc/html/index.html QDir::readDirEntries: Cannot read the directory: /c/work/libftdi/libftdi/build32/C:/work/libftdi/libftdi/examples QDir::readDirEntries: Cannot read the directory: /c/work/libftdi/libftdi/build32/C:/work/libftdi/libftdi/src QDir::readDirEntries: Cannot read the directory: /c/work/libftdi/libftdi/build32/C:/work/libftdi/libftdi/ftdipp [ 2%] Built target docs Scanning dependencies of target ftdi1-static [ 5%] Building C object src/CMakeFiles/ftdi1-static.dir/ftdi.c.obj [ 7%] Linking C static library libftdi1.a [ 10%] Built target ftdi1-static Scanning dependencies of target ftdi1 [ 12%] Building C object src/CMakeFiles/ftdi1.dir/ftdi.c.obj [ 15%] Linking C shared library libftdi1.dll [ 17%] Built target ftdi1 Scanning dependencies of target ftdipp1-static [ 20%] Building CXX object ftdipp/CMakeFiles/ftdipp1-static.dir/ftdi.cpp.obj [ 22%] Linking CXX static library libftdipp1.a [ 22%] Built target ftdipp1-static Scanning dependencies of target ftdipp1 [ 25%] Building CXX object ftdipp/CMakeFiles/ftdipp1.dir/ftdi.cpp.obj [ 27%] Linking CXX shared library libftdipp1.dll [ 27%] Built target ftdipp1 [ 30%] Linking C executable ftdi_eeprom.exe [ 32%] Built target ftdi_eeprom Scanning dependencies of target find_all [ 35%] Building C object examples/CMakeFiles/find_all.dir/find_all.c.obj [ 37%] Linking C executable find_all.exe [ 37%] Built target find_all Scanning dependencies of target bitbang2 [ 40%] Building C object examples/CMakeFiles/bitbang2.dir/bitbang2.c.obj [ 42%] Linking C executable bitbang2.exe [ 42%] Built target bitbang2 Scanning dependencies of target bitbang_ft2232 [ 45%] Building C object examples/CMakeFiles/bitbang_ft2232.dir/bitbang_ft2232.c.obj [ 47%] Linking C executable bitbang_ft2232.exe [ 47%] Built target bitbang_ft2232 Scanning dependencies of target eeprom [ 50%] Building C object examples/CMakeFiles/eeprom.dir/eeprom.c.obj [ 52%] Linking C executable eeprom.exe [ 52%] Built target eeprom Scanning dependencies of target simple [ 55%] Building C object examples/CMakeFiles/simple.dir/simple.c.obj [ 57%] Linking C executable simple.exe [ 57%] Built target simple Scanning dependencies of target bitbang [ 60%] Building C object examples/CMakeFiles/bitbang.dir/bitbang.c.obj C:/work/libftdi/libftdi/examples/bitbang.c: In function 'main': C:/work/libftdi/libftdi/examples/bitbang.c:64:21: warning: unknown conversion type character 'h' in format [-Wformat=] printf("%02hhx ",buf[0]); ^ C:/work/libftdi/libftdi/examples/bitbang.c:64:16: warning: too many arguments for format [-Wformat-extra-args] printf("%02hhx ",buf[0]); ^~~~~~~~~ C:/work/libftdi/libftdi/examples/bitbang.c:64:21: warning: unknown conversion type character 'h' in format [-Wformat=] printf("%02hhx ",buf[0]); ^ C:/work/libftdi/libftdi/examples/bitbang.c:64:16: warning: too many arguments for format [-Wformat-extra-args] printf("%02hhx ",buf[0]); ^~~~~~~~~ [ 62%] Linking C executable bitbang.exe [ 62%] Built target bitbang Scanning dependencies of target baud_test [ 65%] Building C object examples/CMakeFiles/baud_test.dir/baud_test.c.obj [ 67%] Linking C executable baud_test.exe [ 67%] Built target baud_test Scanning dependencies of target async [ 70%] Building C object examples/CMakeFiles/async.dir/async.c.obj [ 72%] Linking C executable async.exe [ 72%] Built target async Scanning dependencies of target serial_test [ 75%] Building C object examples/CMakeFiles/serial_test.dir/serial_test.c.obj [ 77%] Linking C executable serial_test.exe [ 77%] Built target serial_test Scanning dependencies of target stream_test [ 80%] Building C object examples/CMakeFiles/stream_test.dir/stream_test.c.obj C:/work/libftdi/libftdi/examples/stream_test.c: In function 'readCallback': C:/work/libftdi/libftdi/examples/stream_test.c:86:89: warning: unknown conversion type character 'l' in format [-Wformat=] fprintf(stderr, "Skip %7d blocks from 0x%08x to 0x%08x at blocks %10llu\n", ^ C:/work/libftdi/libftdi/examples/stream_test.c:86:36: warning: too many arguments for format [-Wformat-extra-args] fprintf(stderr, "Skip %7d blocks from 0x%08x to 0x%08x at blocks %10llu\n", ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C:/work/libftdi/libftdi/examples/stream_test.c:86:89: warning: unknown conversion type character 'l' in format [-Wformat=] fprintf(stderr, "Skip %7d blocks from 0x%08x to 0x%08x at blocks %10llu\n", ^ C:/work/libftdi/libftdi/examples/stream_test.c:86:36: warning: too many arguments for format [-Wformat-extra-args] fprintf(stderr, "Skip %7d blocks from 0x%08x to 0x%08x at blocks %10llu\n", ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C:/work/libftdi/libftdi/examples/stream_test.c:101:89: warning: unknown conversion type character 'l' in format [-Wformat=] fprintf(stderr, "Skip %7d blocks from 0x%08x to 0x%08x at blocks %10llu\n", ^ C:/work/libftdi/libftdi/examples/stream_test.c:101:36: warning: too many arguments for format [-Wformat-extra-args] fprintf(stderr, "Skip %7d blocks from 0x%08x to 0x%08x at blocks %10llu\n", ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C:/work/libftdi/libftdi/examples/stream_test.c:101:89: warning: unknown conversion type character 'l' in format [-Wformat=] fprintf(stderr, "Skip %7d blocks from 0x%08x to 0x%08x at blocks %10llu\n", ^ C:/work/libftdi/libftdi/examples/stream_test.c:101:36: warning: too many arguments for format [-Wformat-extra-args] fprintf(stderr, "Skip %7d blocks from 0x%08x to 0x%08x at blocks %10llu\n", ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C:/work/libftdi/libftdi/examples/stream_test.c: In function 'main': C:/work/libftdi/libftdi/examples/stream_test.c:250:39: warning: unknown conversion type character 'l' in format [-Wformat=] fprintf(stderr,"%d errors of %llu blocks (%Le), %d (%Le) blocks skipped\n", ^ C:/work/libftdi/libftdi/examples/stream_test.c:250:51: warning: unknown conversion type character 'L' in format [-Wformat=] fprintf(stderr,"%d errors of %llu blocks (%Le), %d (%Le) blocks skipped\n", ^ C:/work/libftdi/libftdi/examples/stream_test.c:250:57: warning: format '%d' expects argument of type 'int', but argument 4 has type 'long long unsigned int' [-Wformat=] fprintf(stderr,"%d errors of %llu blocks (%Le), %d (%Le) blocks skipped\n", ~^ %I64d n_err, (unsigned long long) blocks, (long double)n_err/(long double) blocks, ~~~~~~~~~~~~~~~~~~~~~~~~~~~ C:/work/libftdi/libftdi/examples/stream_test.c:250:61: warning: unknown conversion type character 'L' in format [-Wformat=] fprintf(stderr,"%d errors of %llu blocks (%Le), %d (%Le) blocks skipped\n", ^ C:/work/libftdi/libftdi/examples/stream_test.c:250:23: warning: too many arguments for format [-Wformat-extra-args] fprintf(stderr,"%d errors of %llu blocks (%Le), %d (%Le) blocks skipped\n", ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C:/work/libftdi/libftdi/examples/stream_test.c:250:39: warning: unknown conversion type character 'l' in format [-Wformat=] fprintf(stderr,"%d errors of %llu blocks (%Le), %d (%Le) blocks skipped\n", ^ C:/work/libftdi/libftdi/examples/stream_test.c:250:51: warning: unknown conversion type character 'L' in format [-Wformat=] fprintf(stderr,"%d errors of %llu blocks (%Le), %d (%Le) blocks skipped\n", ^ C:/work/libftdi/libftdi/examples/stream_test.c:250:57: warning: format '%d' expects argument of type 'int', but argument 4 has type 'long long unsigned int' [-Wformat=] fprintf(stderr,"%d errors of %llu blocks (%Le), %d (%Le) blocks skipped\n", ~^ %I64d n_err, (unsigned long long) blocks, (long double)n_err/(long double) blocks, ~~~~~~~~~~~~~~~~~~~~~~~~~~~ C:/work/libftdi/libftdi/examples/stream_test.c:250:61: warning: unknown conversion type character 'L' in format [-Wformat=] fprintf(stderr,"%d errors of %llu blocks (%Le), %d (%Le) blocks skipped\n", ^ C:/work/libftdi/libftdi/examples/stream_test.c:250:23: warning: too many arguments for format [-Wformat-extra-args] fprintf(stderr,"%d errors of %llu blocks (%Le), %d (%Le) blocks skipped\n", ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C:/work/libftdi/libftdi/examples/stream_test.c: In function 'check_outfile': C:/work/libftdi/libftdi/examples/stream_test.c:339:90: warning: unknown conversion type character 'l' in format [-Wformat=] fprintf(stderr, "Skip %7d blocks from 0x%08x to 0x%08x at blocks %10llu \n", ^ C:/work/libftdi/libftdi/examples/stream_test.c:339:37: warning: too many arguments for format [-Wformat-extra-args] fprintf(stderr, "Skip %7d blocks from 0x%08x to 0x%08x at blocks %10llu \n", ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C:/work/libftdi/libftdi/examples/stream_test.c:339:90: warning: unknown conversion type character 'l' in format [-Wformat=] fprintf(stderr, "Skip %7d blocks from 0x%08x to 0x%08x at blocks %10llu \n", ^ C:/work/libftdi/libftdi/examples/stream_test.c:339:37: warning: too many arguments for format [-Wformat-extra-args] fprintf(stderr, "Skip %7d blocks from 0x%08x to 0x%08x at blocks %10llu \n", ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C:/work/libftdi/libftdi/examples/stream_test.c:353:53: warning: unknown conversion type character 'l' in format [-Wformat=] fprintf(stderr, "%d blocks wrong from %llu blocks read\n", ^ C:/work/libftdi/libftdi/examples/stream_test.c:353:29: warning: too many arguments for format [-Wformat-extra-args] fprintf(stderr, "%d blocks wrong from %llu blocks read\n", ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C:/work/libftdi/libftdi/examples/stream_test.c:353:53: warning: unknown conversion type character 'l' in format [-Wformat=] fprintf(stderr, "%d blocks wrong from %llu blocks read\n", ^ C:/work/libftdi/libftdi/examples/stream_test.c:353:29: warning: too many arguments for format [-Wformat-extra-args] fprintf(stderr, "%d blocks wrong from %llu blocks read\n", ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C:/work/libftdi/libftdi/examples/stream_test.c:356:32: warning: unknown conversion type character 'l' in format [-Wformat=] fprintf(stderr, "%llu blocks all fine\n", (unsigned long long) blocks); ^ C:/work/libftdi/libftdi/examples/stream_test.c:356:29: warning: too many arguments for format [-Wformat-extra-args] fprintf(stderr, "%llu blocks all fine\n", (unsigned long long) blocks); ^~~~~~~~~~~~~~~~~~~~~~~~ C:/work/libftdi/libftdi/examples/stream_test.c:356:32: warning: unknown conversion type character 'l' in format [-Wformat=] fprintf(stderr, "%llu blocks all fine\n", (unsigned long long) blocks); ^ C:/work/libftdi/libftdi/examples/stream_test.c:356:29: warning: too many arguments for format [-Wformat-extra-args] fprintf(stderr, "%llu blocks all fine\n", (unsigned long long) blocks); ^~~~~~~~~~~~~~~~~~~~~~~~ [ 82%] Linking C executable stream_test.exe [ 82%] Built target stream_test Scanning dependencies of target find_all_pp [ 85%] Building CXX object examples/CMakeFiles/find_all_pp.dir/find_all_pp.cpp.obj [ 87%] Linking CXX executable find_all_pp.exe [ 87%] Built target find_all_pp Scanning dependencies of target bitbang_cbus [ 90%] Building C object examples/CMakeFiles/bitbang_cbus.dir/bitbang_cbus.c.obj [ 92%] Linking C executable bitbang_cbus.exe [ 92%] Built target bitbang_cbus Scanning dependencies of target test_libftdi1 [ 95%] Building CXX object test/CMakeFiles/test_libftdi1.dir/basic.cpp.obj [ 97%] Building CXX object test/CMakeFiles/test_libftdi1.dir/baudrate.cpp.obj [100%] Linking CXX executable test_libftdi1.exe [100%] Built target test_libftdi1 -- Xiaofan -- libftdi - see http://www.intra2net.com/en/developer/libftdi for details. To unsubscribe send a mail to libftdi+unsubscr...@developer.intra2net.com