The below CMakeLists.txt throwing error related to C++ standard header file inclusion errors while building using yocto recipes.

CMakeLists.txt

cmake_minimum_required(VERSION 3.22) project(libproj) set(CMAKE_BUILD_TYPE "Debug") if(CMAKE_BUILD_TYPE STREQUAL "Debug") message(STATUS "Building in Debug mode") add_compile_definitions(DEBUG=1) else() message(STATUS "Building in Release mode") add_compile_definitions(NDEBUG=1) endif() set(CMAKE_EXPORT_COMPILE_COMMANDS ON) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_SKIP_BUILD_RPATH FALSE) set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE) set(CMAKE_INSTALL_RPATH "$\{ORIGIN\}") set(VERSION "1.1.1") string(REPLACE "." ";" ver_list ${VERSION}) list(GET ver_list 0 LIB_MAJOR) list(GET ver_list 1 LIB_MINOR) # Shared vs Static (LIB_TYPE) option(BUILD_SHARED_LIBS "Build shared libraries" ON) include(GNUInstallDirs) set(TARGET_NAME proj_lib) set(TARGET_ALIAS_NAME proj-lib) set(SRC src/abc.cpp gen/src/def.cpp ) add_library(${TARGET_NAME} ${SRC}) add_library(${PROJECT_NAME}::${TARGET_ALIAS_NAME} ALIAS ${TARGET_NAME}) set_target_properties( ${TARGET_NAME} PROPERTIES EXPORT_NAME ${TARGET_ALIAS_NAME} INSTALL_RPATH "${CMAKE_INSTALL_RPATH}" ) target_include_directories( ${TARGET_NAME} PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/inc> $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/gen/src> $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}> ) set_target_properties( ${TARGET_NAME} PROPERTIES OUTPUT_NAME ${TARGET_NAME} VERSION "${VERSION}" SOVERSION "${LIB_MAJOR}.${LIB_MINOR}" ) install( TARGETS ${TARGET_NAME} EXPORT libproj_targets LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} ) install( DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/gen" "${CMAKE_CURRENT_SOURCE_DIR}/inc" DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/${PROJECT_NAME}-${TARGET_ALIAS_NAME}" FILES_MATCHING PATTERN "*.h" PATTERN "*.hpp" ) install( EXPORT libproj_targets FILE libproj_targets.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} NAMESPACE ${PROJECT_NAME}:: ) include(CMakePackageConfigHelpers) configure_package_config_file( "cmake/libproj_config.cmake.in" "libproj-config.cmake" INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME} PATH_VARS CMAKE_INSTALL_LIBDIR ) write_basic_package_version_file( ${CMAKE_CURRENT_BINARY_DIR}/libproj-version.cmake VERSION ${VERSION} COMPATIBILITY SameMajorVersion ) install( FILES "${CMAKE_CURRENT_BINARY_DIR}/libproj-config.cmake" "${CMAKE_CURRENT_BINARY_DIR}/libproj-version.cmake" DESTINATION "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}" )

abc.bb

SUMMARY = "ABC" DESCRIPTION = "ABC" inherit cmake inherit ${@'qnx-includes' if d.getVar('BUILD_PLATFORM') == 'QNX' else ''} # build components reside in submodule SRC_URI = "gitsm://github.abc.com/repos/proj;branch=main;protocol=https" SRCREV_FORMAT = "proj" SRCREV = "${AUTOREV}" S = "${WORKDIR}/git/proj" B = "${S}" # build steps using CMake EXTRA_OECMAKE:remove:qnx = " -DTARGET_OS=LINUX " EXTRA_OECMAKE:append:qnx = " -DTARGET_OS=QNX " SOLIBS = ".so" FILES_SOLIBSDEV = "" FILES:${PN}-dev += "${libdir}/libproj*.so" FILES:${PN} += " \ ${libdir}/libproj* \ "

Error

In file included from /home/sid_sva_mi/poky/build/tmp/work/cortexa57-poky-linux/proj/dev_qwerty/git/proj/src/abc.cpp:3: 2026-03-13T09:48:57 | /opt/qnx800/target/qnx/usr/include/c++/v1/cstdint:149:5: error: #error <cstdint> tried including <stdint.h> but didn't find libc++'s <stdint.h> header. This usually means that your header search paths are not configured properly. The header search paths should contain the C++ Standard Library headers before any C Standard Library, and you are probably using compiler flags that make that not be the case. 2026-03-13T09:48:57 | 149 | # error <cstdint> tried including <stdint.h> but didn't find libc++'s <stdint.h> header. \

Harry's user avatar

5

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.