我正在尝试使用aarch64
PC对 Jetson nano (x86_64
)进行交叉编译。我正在使用toolchain provided by nvidia(用于64位BSP的GCC工具链)。目前,我陷入无法找到stdlilb.h
In file included from <build dir path>/opt/ros/melodic/include/ros/time.h:53:0,
from <build dir path>/opt/ros/melodic/include/ros/ros.h:38,
from <build dir path>/src/test_cpp/src/listener.cpp:1:
<build dir path>/opt/ros/melodic/include/ros/platform.h:37:41: fatal error: stdlib.h: No such file or directory
#include <stdlib.h> // getenv, _dupenv_s
^
compilation terminated.
我的工具链在gcc-4.8.5-aarch64/install/
目录中。 find -name stdlib.h -type f
给了我
./gcc-4.8.5-aarch64/install/aarch64-unknown-linux-gnu/sysroot/usr/include/bits/stdlib.h
./gcc-4.8.5-aarch64/install/aarch64-unknown-linux-gnu/sysroot/usr/include/stdlib.h
./gcc-4.8.5-aarch64/install/aarch64-unknown-linux-gnu/include/c++/4.8.5/tr1/stdlib.h
为什么编译器找不到stdlib
?如何显示给编译器?
PS 。我不想让这个问题不必要地冗长。如果需要,可以here in my question asked in nvidia forums
完整说明我要执行的操作和错误。答案 0 :(得分:0)
使用$filePath = 'long/path/to/file.ext'
$sentMessage = yield $MadelineProto->messages->sendMedia([
'peer' => '@channel',
'media' => [
'_' => 'inputMediaUploadedPhoto',
'file' => $filePath
],
'message' => 'this is a test massage',
'parse_mode' => 'Markdown'
]);
添加工具链包含目录可以解决问题
include_directories