问题描述
我正在尝试编译自己的库,它依赖于TI-RPC库。我正在使用Yocto Bitbake和Cmake。
在我的cmake文件中,我使用include_directories(${CMAKE_INSTALL_OLDINCLUDEDIR}/tirpc)
,并且在主机上进行编译没有问题。
但是当我使用Yocto构建系统和Bitbake时,出现以下错误:
cc1plus: warning: include location "/usr/include/tirpc" is unsafe for cross-compilation [-Wpoison-system-directories]
和
Fatal error: rpc/rpc.h: No such file or directory
如何使构建系统为目标系统使用正确的路径?
CMakeLists.txt:
cmake_minimum_required(VERSION 3.0)
include(GNUInstallDirs)
include_directories(${PROJECT_SOURCE_DIR}/gen)
# Locate TI-RPC
include_directories(${CMAKE_INSTALL_OLDINCLUDEDIR}/tirpc)
string(TIMESTAMP lib_version "%Y.%m.%d")
set(prefix ${CMAKE_INSTALL_PREFIX})
set(libdir ${CMAKE_INSTALL_LIBDIR})
set(incdir ${CMAKE_INSTALL_INCLUDEDIR})
# Building library
add_library(
mylib SHARED
...
files_xyz.c
...
)
target_link_libraries(mylib tirpc)
set_target_properties(
mylib PROPERTIES
VERSION ${lib_version}
SOVERSION ${lib_version}
PUBLIC_HEADER "header_files.h ..."
)
install(
TARGETS mylib
LIBRARY DESTINATION ${libdir}
PUBLIC_HEADER DESTINATION ${incdir}
)
食谱:
DESCRIPTION = "My library"
LICENSE = "CLOSED"
LIC_FILES_CHKSUM = ""
SRC_URI = "git://..."
# Modify these as desired
PV = "0.1+git${SRCPV}"
SRCREV = "my-branch"
S = "${workdir}/git"
inherit cmake lib_package pkgconfig
DEPENDS += "pkgconfig-native"
# Specify any options you want to pass to cmake using EXTRA_OECMAKE:
EXTRA_OECMAKE = ""
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)