Good morning,
I have to compile a cmake project and I've available an SDK generated from yocto project.
In the
local.conf
is present also:
TOOLCHAIN_HOST_TASK = "nativesdk-cmake"
the sdk is installed in the
home
directory and I launch it in the project directory:
$ . /home/riccardo/va_sdk/environment-setup-cortexa9hf-neon-poky-linux-gnueabi
CMakeList.txt is the following:
cmake_minimum_required (VERSION 2.8)
project (VA)
set (CMAKE_CXX_FLAGS "-std=c++0x -pthread -O3 -Wall -g ${CMAKE_CXX_FLAGS}")
add_subdirectory (...)
Creating the cmake files the output is the following:
$ cmake CMakeLists.txt
-- The C compiler identification is GNU 6.2.0
-- The CXX compiler identification is GNU 6.2.0
-- Check for working C compiler: /home/riccardo/va_sdk/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-gcc
-- Check for working C compiler: /home/riccardo/va_sdk/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /home/riccardo/va_sdk/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-g++
-- Check for working CXX compiler: /home/riccardo/va_sdk/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found OpenCV: /home/riccardo/va_sdk/sysroots/cortexa9hf-neon-poky-linux-gnueabi/usr (found version "3.2.0")
-- Found PkgConfig: /home/riccardo/va_sdk/sysroots/x86_64-pokysdk-linux/usr/bin/pkg-config (found version "0.29.1")
-- Checking for module 'libxml++-2.6'
-- Found libxml++-2.6, version 2.38.1
-- Found LibXML++: /home/riccardo/va_sdk/sysroots/cortexa9hf-neon-poky-linux-gnueabi/usr/lib/libxml++-2.6.so
-- Configuring done
-- Generating done
-- Build files have been written to: /home/riccardo/git/va
But the
make
command fails with:
In file included from /home/riccardo/va_sdk/sysroots/cortexa9hf-neon-poky-linux-gnueabi/usr/include/c++/6.2.0/bits/stl_algo.h:59:0,
from /home/riccardo/va_sdk/sysroots/cortexa9hf-neon-poky-linux-gnueabi/usr/include/c++/6.2.0/algorithm:62,
from /home/riccardo/va_sdk/sysroots/cortexa9hf-neon-poky-linux-gnueabi/usr/include/opencv2/core/base.hpp:55,
from /home/riccardo/va_sdk/sysroots/cortexa9hf-neon-poky-linux-gnueabi/usr/include/opencv2/core.hpp:54,
from /home/riccardo/va_sdk/sysroots/cortexa9hf-neon-poky-linux-gnueabi/usr/include/opencv2/opencv.hpp:52,
/home/riccardo/va_sdk/sysroots/cortexa9hf-neon-poky-linux-gnueabi/usr/include/c++/6.2.0/cstdlib:75:25: fatal error: stdlib.h: No such file or directory
#include_next <stdlib.h>
compilation terminated.
I tried to add in the CMakefile.txt:
include_directories(SYSTEM /home/riccardo/va_sdk/sysroot/cortexa9hf-neon-poky-linux-gnueabi/usr/include/)
In order to force the cmake to search the headers in the right folder, but without success.
Could you kindly help me? Please.
It's not clear to me where to search the issue whether into the yocto project settings or cmake project.
Thanks in advance for the help and don't hesitate to ask details.
Riccardo
Thank
Bio_TICFSL
to suggestion.
I found the solution.
It's necessary to add the following option in
CMakeLists.txt
:
set (CMAKE_NO_SYSTEM_FROM_IMPORTED ON)
And from my CMakeList.txt I also removed:
include_directories (...)
It's a bug reported here:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70129