On Sat, Jul 10, 2010 at 8:56 AM, Xiaofan Chen <[email protected]> wrote:
>> Objections? > > The only thing is how to build libftdi-1.0 under Windows, > with either Cygwin or MinGW using CMake. I have not > figured out how to do that myself. > > Cross-compiling under Linux works perfectly using > MinGW (32bit MinGW or 64bit MinGW-w64). Since > I use both Linux and Windows, this is okay for me. > But I think some libftdi-1.0 users may not use > Linux. > > So I do not really have an objection. I am not a fan of > auto-tools myself. But rather I hope the CMake experts > here can provide an instruction on Cygwin/MinGW under > Windows. I just tried again under Cygwin. Actually I am getting quite close. The only thing failed is the shared dll and dll.a. mc...@acerpc ~/mcu/libftdi/libftdi1/libftdi-1.0/build $ cmake .. -DEXAMPLES:option=OFF -DFTDIPP:option=OFF -DPYTHON_BINDINGS:option=OFF -DEXAMPLES:option=ON -DDOCUMENTATION:option=OFF -- The C compiler identification is GNU -- The CXX compiler identification is GNU -- Check for working C compiler: /usr/bin/gcc.exe -- Check for working C compiler: /usr/bin/gcc.exe -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++.exe -- Check for working CXX compiler: /usr/bin/c++.exe -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Build type: Debug -- checking for module 'libusb-1.0' -- found libusb-1.0, version 1.0.8 -- Found LIBUSB: /usr/local/bin/cygusb-1.0.dll -- Boost version: 1.33.1 -- Found the following Boost libraries: -- Not building libftdi++ -- Found PythonLibs: /lib/python2.5/config/libpython2.5.dll.a -- Not building python bindings -- Building example programs. -- Found Doxygen: /usr/bin/doxygen.exe -- Not generating API documentation -- Configuring done -- Generating done -- Build files have been written to: /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/build mc...@acerpc ~/mcu/libftdi/libftdi1/libftdi-1.0/build $ make -i Scanning dependencies of target ftdi [ 7%] Building C object src/CMakeFiles/ftdi.dir/ftdi.c.o [ 15%] Building C object src/CMakeFiles/ftdi.dir/ftdi_stream.c.o Linking C shared library cygftdi-1.17.0.dll CMakeFiles/ftdi.dir/ftdi.c.o: In function `ftdi_usb_close_internal': /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:64: undefined reference to `_libusb_close' CMakeFiles/ftdi.dir/ftdi.c.o: In function `ftdi_deinit': /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:195: undefined reference to `_libusb_exit' CMakeFiles/ftdi.dir/ftdi.c.o: In function `ftdi_usb_find_all': /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:247: undefined reference to `_libusb_init' /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:250: undefined reference to `_libusb_get_device_list' /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:260: undefined reference to `_libusb_get_device_descriptor' CMakeFiles/ftdi.dir/ftdi.c.o: In function `ftdi_usb_get_strings': /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:343: undefined reference to `_libusb_open' /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:346: undefined reference to `_libusb_get_device_descriptor' /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:351: undefined reference to `_libusb_get_string_descriptor_ascii' /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:360: undefined reference to `_libusb_get_string_descriptor_ascii' /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:369: undefined reference to `_libusb_get_string_descriptor_ascii' CMakeFiles/ftdi.dir/ftdi.c.o: In function `_ftdi_determine_max_packet_size': /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:405: undefined reference to `_libusb_get_device_descriptor' /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:408: undefined reference to `_libusb_get_config_descriptor' /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:427: undefined reference to `_libusb_free_config_descriptor' CMakeFiles/ftdi.dir/ftdi.c.o: In function `ftdi_usb_open_dev': /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:458: undefined reference to `_libusb_open' /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:461: undefined reference to `_libusb_get_device_descriptor' /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:464: undefined reference to `_libusb_get_config_descriptor' /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:467: undefined reference to `_libusb_free_config_descriptor' /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:475: undefined reference to `_libusb_detach_kernel_driver' /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:478: undefined reference to `_libusb_get_configuration' /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:485: undefined reference to `_libusb_set_configuration' /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:499: undefined reference to `_libusb_claim_interface' CMakeFiles/ftdi.dir/ftdi.c.o: In function `ftdi_usb_open_desc_index': /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:633: undefined reference to `_libusb_init' /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:639: undefined reference to `_libusb_get_device_list' /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:647: undefined reference to `_libusb_get_device_descriptor' /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:648: undefined reference to `_libusb_free_device_list' /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:652: undefined reference to `_libusb_open' /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:653: undefined reference to `_libusb_free_device_list' /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:657: undefined reference to `_libusb_get_string_descriptor_ascii' /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:659: undefined reference to `_libusb_close' /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:660: undefined reference to `_libusb_free_device_list' /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:664: undefined reference to `_libusb_close' /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:670: undefined reference to `_libusb_get_string_descriptor_ascii' /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:673: undefined reference to `_libusb_free_device_list' /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:691: undefined reference to `_libusb_free_device_list' /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:697: undefined reference to `_libusb_free_device_list' CMakeFiles/ftdi.dir/ftdi.c.o: In function `ftdi_usb_open_string': /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:742: undefined reference to `_libusb_init' /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:745: undefined reference to `_libusb_get_device_list' /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:750: undefined reference to `_libusb_free_device_list' /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:755: undefined reference to `_libusb_get_bus_number' /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:755: undefined reference to `_libusb_get_device_address' /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:759: undefined reference to `_libusb_free_device_list' /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:765: undefined reference to `_libusb_free_device_list' CMakeFiles/ftdi.dir/ftdi.c.o: In function `ftdi_usb_reset': /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:828: undefined reference to `_libusb_control_transfer' CMakeFiles/ftdi.dir/ftdi.c.o: In function `ftdi_usb_purge_rx_buffer': /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:854: undefined reference to `_libusb_control_transfer' CMakeFiles/ftdi.dir/ftdi.c.o: In function `ftdi_usb_purge_tx_buffer': /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:880: undefined reference to `_libusb_control_transfer' CMakeFiles/ftdi.dir/ftdi.c.o: In function `ftdi_usb_close': /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:935: undefined reference to `_libusb_release_interface' CMakeFiles/ftdi.dir/ftdi.c.o: In function `ftdi_set_baudrate': /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:1104: undefined referenc e to `_libusb_control_transfer' CMakeFiles/ftdi.dir/ftdi.c.o: In function `ftdi_set_line_property2': /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:1196: undefined referenc e to `_libusb_control_transfer' CMakeFiles/ftdi.dir/ftdi.c.o: In function `ftdi_write_data': /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:1230: undefined referenc e to `_libusb_bulk_transfer' CMakeFiles/ftdi.dir/ftdi.c.o: In function `ftdi_read_data_cb': /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:1315: undefined referenc e to `_libusb_submit_transfer' CMakeFiles/ftdi.dir/ftdi.c.o: In function `ftdi_write_data_cb': /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:1342: undefined referenc e to `_libusb_submit_transfer' CMakeFiles/ftdi.dir/ftdi.c.o: In function `ftdi_write_data_submit': /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:1366: undefined referenc e to `_libusb_alloc_transfer' /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:1371: undefined referenc e to `_libusb_free_transfer' /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:1394: undefined referenc e to `_libusb_submit_transfer' /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:1397: undefined referenc e to `_libusb_free_transfer' CMakeFiles/ftdi.dir/ftdi.c.o: In function `ftdi_read_data_submit': /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:1464: undefined referenc e to `_libusb_alloc_transfer' /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:1477: undefined referenc e to `_libusb_submit_transfer' /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:1480: undefined referenc e to `_libusb_free_transfer' CMakeFiles/ftdi.dir/ftdi.c.o: In function `ftdi_transfer_data_done': /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:1506: undefined referenc e to `_libusb_handle_events' /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:1511: undefined referenc e to `_libusb_cancel_transfer' /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:1513: undefined referenc e to `_libusb_handle_events' /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:1515: undefined referenc e to `_libusb_free_transfer' /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:1527: undefined referenc e to `_libusb_free_transfer' CMakeFiles/ftdi.dir/ftdi.c.o: In function `ftdi_read_data': /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:1624: undefined referenc e to `_libusb_bulk_transfer' CMakeFiles/ftdi.dir/ftdi.c.o: In function `ftdi_enable_bitbang': /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:1780: undefined referenc e to `_libusb_control_transfer' CMakeFiles/ftdi.dir/ftdi.c.o: In function `ftdi_disable_bitbang': /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:1803: undefined referenc e to `_libusb_control_transfer' CMakeFiles/ftdi.dir/ftdi.c.o: In function `ftdi_set_bitmode': /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:1831: undefined referenc e to `_libusb_control_transfer' CMakeFiles/ftdi.dir/ftdi.c.o: In function `ftdi_read_pins': /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:1854: undefined referenc e to `_libusb_control_transfer' CMakeFiles/ftdi.dir/ftdi.c.o: In function `ftdi_set_latency_timer': /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi.c:1886: undefined referenc e to `_libusb_control_transfer' CMakeFiles/ftdi.dir/ftdi.c.o:/home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ft di.c:1909: more undefined references to `_libusb_control_transfer' follow CMakeFiles/ftdi.dir/ftdi_stream.c.o: In function `ftdi_readstream_cb': /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi_stream.c:98: undefined ref erence to `_libusb_free_transfer' /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi_stream.c:103: undefined re ference to `_libusb_submit_transfer' CMakeFiles/ftdi.dir/ftdi_stream.c.o: In function `ftdi_readstream': /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi_stream.c:171: undefined re ference to `_libusb_alloc_transfer' /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi_stream.c:189: undefined re ference to `_libusb_submit_transfer' /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi_stream.c:219: undefined re ference to `_libusb_handle_events_timeout' /home/mcuee/mcu/libftdi/libftdi1/libftdi-1.0/src/ftdi_stream.c:222: undefined re ference to `_libusb_handle_events_timeout' Creating library file: libftdi.dll.a collect2: ld returned 1 exit status [ 15%] Built target ftdi Scanning dependencies of target ftdi-static [ 23%] Building C object src/CMakeFiles/ftdi-static.dir/ftdi.c.o [ 30%] Building C object src/CMakeFiles/ftdi-static.dir/ftdi_stream.c.o Linking C static library libftdi.a [ 30%] Built target ftdi-static Scanning dependencies of target baud_test [ 38%] Building C object examples/CMakeFiles/baud_test.dir/baud_test.c.o Linking C executable baud_test.exe [ 38%] Built target baud_test Scanning dependencies of target bitbang [ 46%] Building C object examples/CMakeFiles/bitbang.dir/bitbang.c.o Linking C executable bitbang.exe [ 46%] Built target bitbang Scanning dependencies of target bitbang2 [ 53%] Building C object examples/CMakeFiles/bitbang2.dir/bitbang2.c.o Linking C executable bitbang2.exe [ 53%] Built target bitbang2 Scanning dependencies of target bitbang_cbus [ 61%] Building C object examples/CMakeFiles/bitbang_cbus.dir/bitbang_cbus.c.o Linking C executable bitbang_cbus.exe [ 61%] Built target bitbang_cbus Scanning dependencies of target bitbang_ft2232 [ 69%] Building C object examples/CMakeFiles/bitbang_ft2232.dir/bitbang_ft2232.c .o Linking C executable bitbang_ft2232.exe [ 69%] Built target bitbang_ft2232 Scanning dependencies of target find_all [ 76%] Building C object examples/CMakeFiles/find_all.dir/find_all.c.o Linking C executable find_all.exe [ 76%] Built target find_all Scanning dependencies of target serial_read [ 84%] Building C object examples/CMakeFiles/serial_read.dir/serial_read.c.o Linking C executable serial_read.exe [ 84%] Built target serial_read Scanning dependencies of target simple [ 92%] Building C object examples/CMakeFiles/simple.dir/simple.c.o Linking C executable simple.exe [ 92%] Built target simple Scanning dependencies of target stream_test [100%] Building C object examples/CMakeFiles/stream_test.dir/stream_test.c.o Linking C executable stream_test.exe [100%] Built target stream_test -- Xiaofan http://sourceforge.net/projects/libusb-win32/ -- libftdi - see http://www.intra2net.com/en/developer/libftdi for details. To unsubscribe send a mail to [email protected]
