当前位置: 首页 > wzjs >正文

jquery动画特效网站企业在线培训系统

jquery动画特效网站,企业在线培训系统,我要自咋样做网站,莱芜推广场景总结: 平台:x86 主机 工具链:aarch64-linux-gnu-gcc(用于编译 64-bit ARM 程序) 目标:让 gcc 自动使用 ARM Ubuntu rootfs 中的头文件和库(位于 /opt/arm64-ubuntu) 不希望每…

场景总结:

  • 平台:x86 主机

  • 工具链:aarch64-linux-gnu-gcc(用于编译 64-bit ARM 程序)

  • 目标:让 gcc 自动使用 ARM Ubuntu rootfs 中的头文件和库(位于 /opt/arm64-ubuntu

  • 不希望每次编译都加 --sysroot 参数,而是用 export 设置全局环境变量


✅ 推荐的 export 变量配置

假设 ARM Ubuntu 根目录为:

export SYSROOT=/opt/arm64-ubuntu

然后设置以下环境变量:

# 设置交叉编译器(非必须,如果你明确指定 gcc 可省略)
export CC="aarch64-linux-gnu-gcc"
export CXX="aarch64-linux-gnu-g++"# 头文件路径
export CFLAGS="--sysroot=$SYSROOT -I$SYSROOT/usr/include -I$SYSROOT/include"# C++头文件路径
export CXXFLAGS="--sysroot=$SYSROOT -I$SYSROOT/usr/include -I$SYSROOT/include"# 库文件路径
export LDFLAGS="--sysroot=$SYSROOT -L$SYSROOT/lib -L$SYSROOT/usr/lib -L$SYSROOT/usr/lib/aarch64-linux-gnu"# 动态链接库搜索路径(用于运行/调试或给链接器 ld 使用)
export LIBRARY_PATH="$SYSROOT/lib:$SYSROOT/usr/lib:$SYSROOT/usr/lib/aarch64-linux-gnu"# 包配置路径(如 pkg-config 使用)
export PKG_CONFIG_SYSROOT_DIR=$SYSROOT
export PKG_CONFIG_LIBDIR=$SYSROOT/usr/lib/aarch64-linux-gnu/pkgconfig# 让 Make / Autotools 项目识别交叉平台
export ARCH=arm64
export CROSS_COMPILE=aarch64-linux-gnu-

✅ 示例:不带参数的编译

设置好这些后,就可以直接运行:

$CC hello.c -o hello_arm

不需要每次写 --sysroot 和路径。


🔍 验证输出是否正确

应看到:file hello_arm64

ELF 64-bit LSB executable, ARM aarch64, ...


✅ 补充建议:写入 shell 脚本或 profile 文件

你可以把上面所有内容保存为 env-setup.sh 脚本:

然后执行:

source env-setup.sh

#!/bin/bash
export SYSROOT=/opt/arm64-ubuntu
export CC="aarch64-linux-gnu-gcc"
export CXX="aarch64-linux-gnu-g++"
export CFLAGS="--sysroot=$SYSROOT -I$SYSROOT/usr/include -I$SYSROOT/include"
export CXXFLAGS="--sysroot=$SYSROOT -I$SYSROOT/usr/include -I$SYSROOT/include"
export LDFLAGS="--sysroot=$SYSROOT -L$SYSROOT/lib -L$SYSROOT/usr/lib -L$SYSROOT/usr/lib/aarch64-linux-gnu"
export LIBRARY_PATH="$SYSROOT/lib:$SYSROOT/usr/lib:$SYSROOT/usr/lib/aarch64-linux-gnu"
export PKG_CONFIG_SYSROOT_DIR=$SYSROOT
export PKG_CONFIG_LIBDIR=$SYSROOT/usr/lib/aarch64-linux-gnu/pkgconfig
export ARCH=arm64
export CROSS_COMPILE=aarch64-linux-gnu-

✅ 总结

变量用途
CFLAGS, CXXFLAGS让 gcc 使用目标 rootfs 的头文件
LDFLAGS, LIBRARY_PATH让链接器使用目标 rootfs 的库
PKG_CONFIG_*使用 .pc 文件时自动指向目标 rootfs
SYSROOT提供统一根路径,避免重复书写
CROSS_COMPILE自动匹配工具链前缀(用于 makefile 项目)

-----------------------------------------------

通过chroot生成的ubuntu使用以下命令修改软链接路径,

#!/bin/bash
BASE_DIR="/work/ubuntu/binary"       # 需要添加的基础目录fix_invalid_links() {local TARGET_DIR="$1"find "$TARGET_DIR" -type l | while read -r link; dotarget=$(readlink "$link")# 判断软链接是否有效(软链接指向的文件不存在)if [ -L "$link" ] && [ ! -e "$(readlink -f "$link" 2>/dev/null)" ]; then# 如果是绝对路径,则移除开头的斜杠if [[ "$target" == /* ]]; thenrel_target="${target:1}"  # 移除开头的斜杠new_target="$BASE_DIR/$rel_target"elsenew_target="$BASE_DIR/$target"fiif [ -f $new_target ]; thenecho "修复无效链接: $new_target $link"ln -sf "$new_target" "$link"fifidone
}TARGET_DIR="/work/ubuntu/binary/usr/lib/aarch64-linux-gnu"   # 需要检查的目录
TARGET_DIR1="/work/ubuntu/binary/etc/alternatives"   # 需要检查的目录
fix_invalid_links "$TARGET_DIR"
fix_invalid_links "$TARGET_DIR1"
fix_invalid_links "$TARGET_DIR"
fix_invalid_links "$TARGET_DIR1"

生成一个脚本:env_compile

source ./env_compile即可后续进行编译


#!/bin/bash# ✅ 基础路径设置(便于统一管理)
ROOT=/work/ubuntu/binary
ROS_HUMBLE=$ROOT/opt/ros/humble
SYSROOT=$ROOT
LIBDIR=$ROOT/usr/lib
AARCH64_LIBDIR=$LIBDIR/aarch64-linux-gnu# ✅ LD_LIBRARY_PATH 检查
if [ ! -z "$LD_LIBRARY_PATH" ]; thenecho "[⚠️ 警告] 检测到 LD_LIBRARY_PATH 已设置,可能影响 SDK 正常运行。"echo "建议执行: unset LD_LIBRARY_PATH"echo "参考:"echo "  http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html#AEN80"echo "  http://xahlee.info/UnixResource_dir/_/ldpath.html"return 1
fi# ✅ 路径设置
export PATH=$ROS_HUMBLE:$PATH
export PATH=$ROS_HUMBLE/lib:$PATH
export PATH=$AARCH64_LIBDIR:$PATH
export PATH=$ROOT/lib:$PATH
export PATH=$ROOT/usr:$PATHexport PYTHONPATH=$ROS_HUMBLE/lib/python3.10/site-packages
export PKG_CONFIG_PATH=$ROS_HUMBLE/lib:$SYSROOT/usr/share/pkgconfig
export AMENT_PREFIX_PATH=$ROS_HUMBLE# ✅ 编译相关变量
export BUILDSYSROOT=$SYSROOT
export CMAKE_INCLUDE_PATH=$SYSROOT/usr/include:$CMAKE_INCLUDE_PATH
export LIBRARY_PATH=$LIBDIR:$AARCH64_LIBDIR:$LIBRARY_PATH
export LD_LIBRARY_PATH=$LIBDIR:$AARCH64_LIBDIR# ✅ CMake 依赖路径
export CMAKE_PREFIX_PATH=$LIBRARY_PATH
export spdlog_DIR=$AARCH64_LIBDIR/cmake/spdlog
export fmt_DIR=$AARCH64_LIBDIR/cmake/fmt# ✅ 交叉编译工具链配置
export LD="aarch64-linux-gnu-ld --sysroot=$SYSROOT"
export CC="aarch64-linux-gnu-gcc --sysroot=$SYSROOT"
export CXX="aarch64-linux-gnu-g++ --sysroot=$SYSROOT"
export CPP="aarch64-linux-gnu-gcc -E --sysroot=$SYSROOT"
export STRIP="aarch64-linux-gnu-strip"# ✅ 加载 ROS 环境
source $ROS_HUMBLE/setup.bashecho "[✅ 环境设置完成]"

最后需要注意的是ARm ubuntu的版本要与X86 ubuntu版本要一致,才能进行编译。否则版本问题导致太多问题。

需要注意,使用的是x86上面的gcc工具链,只是使用了arm ubuntu上面的lib 库

X86平台

aarch64-linux-gnu-
aarch64-linux-gnu-addr2line  aarch64-linux-gnu-cpp        aarch64-linux-gnu-gprof      aarch64-linux-gnu-nm         aarch64-linux-gnu-readelf
aarch64-linux-gnu-ar         aarch64-linux-gnu-cpp-9      aarch64-linux-gnu-ld         aarch64-linux-gnu-objcopy    aarch64-linux-gnu-size
aarch64-linux-gnu-as         aarch64-linux-gnu-dwp        aarch64-linux-gnu-ld.bfd     aarch64-linux-gnu-objdump    aarch64-linux-gnu-strings
aarch64-linux-gnu-c++filt    aarch64-linux-gnu-elfedit    aarch64-linux-gnu-ld.gold    aarch64-linux-gnu-ranlib     aarch64-linux-gnu-strip

http://www.dtcms.com/wzjs/338814.html

相关文章:

  • lnmpa wordpress ssl苏州企业网站关键词优化
  • 网络广告代理渠道seo顾问培训
  • 建设部或国土资源管理局的网站搜索引擎营销的6种方式
  • 做商城网站的流程介绍长沙网站优化指导
  • 电商企业网站建设的一般要素有哪些6seo实战优化
  • 简述网站建设流程日照网络推广
  • 评测网站做的那些条形图外贸网站建设平台
  • 中学生网站作品做一个简单网页
  • web前端做音乐网站网站自动推广软件
  • 专业的外贸行业网站制作网站快速优化排名排名
  • 南汇网站建设北京网站seo优化推广
  • 凡科网站做的作品如何发布windows优化大师和360哪个好
  • 北京网站建设找华网天下网站如何被搜索引擎收录
  • 做企业网站需要多久蚁坊软件舆情监测系统
  • 全套网站搭建新闻头条国内大事
  • 百度开户做网站2400福建百度代理公司
  • 建立网站服务的公司网站东莞seoseo关键词排名优化
  • 姜堰网站建设百度指数怎么算
  • java做的网站怎么设置关闭和开启网站访问不了怎么办网络公司关键词排名
  • 34线城市做网站推广网站建设黄页视频
  • 个人网站模板 免费google浏览器网页版
  • 东莞微信网站建设动态百度关键词优化培训
  • 网站的规划与建设案例分析seo数据优化
  • 东莞虎门今日疫情最新情况杭州网站优化推荐
  • 团队建设海报网站站长工具源码
  • 在公司做网站是什么职位商品营销推广的方法有哪些
  • 网页制作与网站建设的题电子商务沙盘seo关键词
  • wordpress淘宝组件插件锦州网站seo
  • 站长工具高清有吗百度手机助手最新版下载
  • 延安网站开发十大培训机构教育培训机构哪家好