libftdi Archives

Subject: Re: Building the unit test program with MinGW GCC

From: Xiaofan Chen <xiaofanc@xxxxxxxxx>
To: libftdi@xxxxxxxxxxxxxxxxxxxxxxx
Date: Sat, 16 Feb 2013 15:28:57 +0800
On Sat, Feb 16, 2013 at 2:57 PM, Xiaofan Chen <xiaofanc@xxxxxxxxx> wrote:
> I am able to build almost everything of libftdi1-1.0 under
> native Windows with a 3rd-party MinGW toolchain with
> Boost built-in.
> Toolchain: http://nuwen.net/mingw.html
>
> I am using the 9.5 version with Boost 1.52, gcc 4.7.2,
> CMake 2.8.2 and libconfuse 2.7.
>
> It seems to me one of the linker option is missing.
> But I am not a boost expert to sort out the issue.
> Any help? Thanks in advance.
>
> Linking CXX executable test_libftdi1.exe
> cd /d C:\work\libftdi\libftdi1-1.0\build_boost\test && "C:\Program 
> Files\CMake 2
> .8\bin\cmake.exe" -E cmake_link_script CMakeFiles\test_libftdi1.dir\link.txt 
> --v
> erbose=1
> "C:\Program Files\CMake 2.8\bin\cmake.exe" -E remove -f 
> CMakeFiles\test_libftdi1
> .dir/objects.a
> C:\MinGW_boost\bin\ar.exe cr CMakeFiles\test_libftdi1.dir/objects.a 
> @CMakeFiles\
> test_libftdi1.dir\objects1.rsp
> C:\MinGW_boost\bin\g++.exe  -O2 -g -DNDEBUG    -Wl,--whole-archive 
> CMakeFiles\te
> st_libftdi1.dir/objects.a -Wl,--no-whole-archive  -o test_libftdi1.exe 
> -Wl,--out
> -implib,libtest_libftdi1.dll.a 
> -Wl,--major-image-version,0,--minor-image-version
> ,0  ..\src\libftdi1.dll.a C:\MinGW_boost\lib\libboost_unit_test_framework.a 
> C:\w
> ork\libusbx\libusbx-1.0.14-win\MinGW32\dll\libusb-1.0.dll.a -lkernel32 
> -luser32
> -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32
> CMakeFiles\test_libftdi1.dir/objects.a(basic.cpp.obj): In function 
> `~test_observ
> er':
> c:/mingw_boost/bin/../lib/gcc/i686-pc-mingw32/4.7.2/../../../../include/boost/te
> st/test_observer.hpp:53: undefined reference to 
> `_imp___ZTVN5boost9unit_test13te
> st_observerE'
> ...

Maybe this is a toolchain issue.

As a comparison, the following is from Ubuntu Linux 12.04 x86,
with gcc 4.7.2 and boost 1.49.

make[2]: Entering directory `/home/mcuee/Desktop/build/libftdi/libftdi/build'
Linking CXX executable test_libftdi1
cd /home/mcuee/Desktop/build/libftdi/libftdi/build/test &&
/usr/bin/cmake -E cmake_link_script
CMakeFiles/test_libftdi1.dir/link.txt --verbose=1
/usr/bin/c++   -O2 -g    CMakeFiles/test_libftdi1.dir/basic.cpp.o
CMakeFiles/test_libftdi1.dir/baudrate.cpp.o  -o test_libftdi1
-rdynamic ../src/libftdi1.so.2.0.0 -lboost_unit_test_framework-mt
/usr/local/lib/libusb-1.0.so
-Wl,-rpath,/home/mcuee/Desktop/build/libftdi/libftdi/build/src:/usr/local/lib
make[2]: Leaving directory `/home/mcuee/Desktop/build/libftdi/libftdi/build'
/usr/bin/cmake -E cmake_progress_report
/home/mcuee/Desktop/build/libftdi/libftdi/build/CMakeFiles  21 22
[100%] Built target test_libftdi1




-- 
Xiaofan

--
libftdi - see http://www.intra2net.com/en/developer/libftdi for details.
To unsubscribe send a mail to libftdi+unsubscribe@xxxxxxxxxxxxxxxxxxxxxxx   

Current Thread