I'd say that adding -L/opt/gcc-linaro-arm-linux-gnueabihf-4.7-2013.01-20130125_linux/arm-linux-gnueabihf/lib is unnecessary as gcc's driver should be able to find its own libraries.
Regarding your problems with ffmpeg, I'm sorry that I don't know how cmake works, but after spending some time trying to understand why cross-building fails, here are my remarks: - using 'make VERBOSE=1' will show you the exact commands used - from what I can see, cmake manages to find the full path to the compiler and calls it using this path - installing packages such as libavcodec-dev installs the version for your host, not for your ARM target - therefore, you should add ffmpeg to OpenCV, maybe using the 3rdparty directory, but I don't know how it is supposed to be used - on my system, I have noticed that cmake says 'Could NOT find JPEG), then "Media I/O: JPEG: libjpeg (ver 62)" and I can see that g++ is called with -I<path-to-OpenCV>/3rdparty/libjpeg, which is confusing - similarly, it looks like cmake is calling pkg-config which most probably queries the host, not the target FS - you have to make sure that the build process will find or build all the dependencies for ARM, which probably means it has to build ffmpeg - I don't know if all these are peculiarities of cmake or OpenCV, but it makes me wonder whether OpenCV is really supporting cross-compilation? - did you ask OpenCV community? Sorry to ask more questions :-) Christophe. On 12 February 2013 20:11, Derek Rollend <derek.roll...@gmail.com> wrote: > I added the lib path explicitly so I knew that arm-linux-gnueabihf-g++ was > definitely linking against the correct hard float libraries. Perhaps this > is unnecessary, but I just wanted to be sure. I've been using OpenCV 2.2 > because that was the version that was known to compile successfully from > that TI wiki page you sent earlier. I am now trying with 2.4.0, I'll let > you know if I succeed. > > It's definitely not easy. All the tools seem to be there, it's piecing > everything together correctly that is the tough part. Push on! > > > On Tue, Feb 12, 2013 at 1:35 PM, Fernan <fhlede...@gmail.com> wrote: >> >> Hi Derek, >> >> Derek Rollend <derek.rollend@...> writes: >> >> > >> > >> > Add the Linaro toolchain bin directory to your PATH environment >> > variable: >> > export >> > PATH="/opt/gcc-linaro-arm-linux-gnueabihf-4.7-2013.01-20130125_linux >> >>/bin:$PATH" >> >> ok. I thought there was a CMake variable like CMAKE_C_COMPILER_PATH. I use >> this >> http://www.cmake.org/Wiki/CMake_FAQ#How_do_I_use_a_different_compiler.3F >> (method3). >> >> > On Mon, Feb 11, 2013 at 4:04 PM, Fernan >> <fhlede...@gmail.com> wrote: >> > Derek Rollend <derek.rollend <at> ...> writes: >> > > >> > > >> > > Fernan, >> > > I'm using CMake 2.8.0. I have not tried to compile OpenCV with FFMPEG >> > > support >> > yet, although I will be trying to do this soon. I have only >> > successfully >> > compiled OpenCV 2.2 using the Linaro hard float compiler. Here is my >> > toolchain.cmake file: >> > > >> > > >> > > set( CMAKE_SYSTEM_NAME Linux ) >> > > set( CMAKE_SYSTEM_PROCESSOR arm ) >> > > set( CMAKE_C_COMPILER arm-linux-gnueabihf-gcc ) >> > > set( CMAKE_CXX_COMPILER arm-linux-gnueabihf-g++ ) >> > > set( CMAKE_CXX_FLAGS_RELEASE "-L >> > >/opt/gcc-linaro-arm-linux-gnueabihf-4.7-2013.01-20130125_linux/ >> >> >arm-linux-gnueabihf/lib -O3 -mcpu=cortex-a8 -mfpu=neon >> >> > -mfloat-abi=hard >> >> >-ftree-vectorize -ftree-vectorizer-verbose=3 -funroll-loops" ) >> >> > set( CMAKE_CXX_FLAGS_DEBUG "-L /opt/gcc-linaro-arm-linux-gnueabihf- >> >> >4.7-2013.01-20130125_linux/arm-linux-gnueabihf/lib >> >> >-O3 -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=hard -ftree-vectorize >> >> >-ftree-vectorizer-verbose=3 -funroll-loops" ) >> > > >> >> I have just successfully compiled but without FFMPEG too, that is the >> problem. >> >> but first, I will ask you some question: >> >> Why you need to add the link path /opt/gcc-linaro-arm-linux-gnueabihf- >> 4.7-2013.01-20130125_linux/arm-linux-gnueabihf/lib? >> >> Why you use OpenCV2.2? The lastest stable release is OpenCV2.4.3. >> >> You see, I'm a newbie about cross compiling, I'll have to study concepts >> of >> cross-compilation, I thought it was easy. >> >> >> >> >> >> _______________________________________________ >> linaro-toolchain mailing list >> linaro-toolchain@lists.linaro.org >> http://lists.linaro.org/mailman/listinfo/linaro-toolchain > > > > _______________________________________________ > linaro-toolchain mailing list > linaro-toolchain@lists.linaro.org > http://lists.linaro.org/mailman/listinfo/linaro-toolchain > _______________________________________________ linaro-toolchain mailing list linaro-toolchain@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-toolchain