ppp-2.4.5移植(交叉编译)

28 篇文章 0 订阅

移植无非就三个步骤

1、./configure

2、make

3、make install

正常情况下在步骤1可以指定编译器,CC=xxxx之类,或者直接指定host名称,一般--host=xxxxx指定后,对应的编译器就不用指定了,会默认xxxx-gcc,裁剪也会默认用xxxx-strip,但是!!!ppp不支持选项‘--host=’选项,只支持‘--prefix=’,所以步骤1无法指定编译器,需要在步骤2中添加,即 make CC=xxxx,正常的话这样也没问题,但是!!! ppp-2.4.5的工程生成的Makefile,里面install时使用-s命令,默认使用的是PC下的strip命令。不是步骤2指定的xxx-strip,所以必须要去更改Makefile文件,把-s(裁剪)去掉,最后再手动对生成的可执行文件strip(裁剪)。例如直接把Makefile中的$(INSTALL) -s -c chat $(BINDIR)语句中的-s去掉,这样make install的时候就不会报错了。报错如下图↓ ↓ ↓。

问题来了,我们用的是开源的代码,每次用./configure时,各个目录中的Makefile又会重新生成,所以每次又得改,觉得很麻烦。有什么办法使install -s不是调用默认的strip 而是调用交叉编译的strip,改configure文件?目前没有发现直接改configure的办法,但是可以用脚本实现交叉编译。用sed修改需要去掉-s的Makefile

# 对全局匹配上的所有字符串进行替换
sed -i 's/原字符串/新字符串/' ab.txt
#源码目录
PPP_SRC_DIR		:= /src/ppp/

#输出目录
PPP_TARGET_DIR	        := /for_arm/ppp

TARGET_CC=arm-hisiv300-linux-gcc
TARGET_STRIP=arm-hisiv300-linux-strip

#目标名称
PPP_TARGET_NAME	        := pppd
mkdir -p $(PPP_TARGET_DIR)
cd $(PPP_SRC_DIR); ./configure --prefix=$(PPP_TARGET_DIR)
make -j8 CC=$(TARGET_CC) -C $(PPP_SRC_DIR)
sed -i 's/-s//' $(PPP_SRC_DIR)chat/Makefile
sed -i 's/-s//' $(PPP_SRC_DIR)pppd/Makefile
sed -i 's/-s//' $(PPP_SRC_DIR)pppd/plugins/radius/Makefile
sed -i 's/-s//' $(PPP_SRC_DIR)pppdump/Makefile
sed -i 's/-s//' $(PPP_SRC_DIR)pppstats/Makefile
make -C $(PPP_SRC_DIR) install
$(TARGET_STRIP) $(PPP_TARGET_DIR)/sbin/$(PPP_TARGET_NAME)

 

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
根据引用中描述的问题,可能是无法传输依赖的Spring Boot Starter Parent的artifact导致的。而您提到的是spring-boot-starter-parent-2.4.5,这是一个特定版本的Spring Boot Starter Parent。 为了解决这个问题,您可以尝试以下方法: 1. 检查您的项目的Maven配置。可以按照引用中的方法,通过在IntelliJ IDEA中找到File -> Setting -> Maven来查看当前项目的Maven配置。确保您的项目的Maven配置与其他正常工作的项目的配置相匹配。 2. 如果配置不同,可以将非正常项目的Maven配置改为本地的配置。点击"Apply"应用更改后,IDEA会自动加载pom.xml中的内容,这可能会解决问题。 3. 如果以上方法仍然无法解决问题,您可以尝试重启IntelliJ IDEA,并打开原有的项目。等待项目加载完成后,如果加载异常,可以尝试在Maven中执行clean,然后再执行package命令。这可能会帮助解决依赖传输的问题。 请注意,这些方法仅供参考,具体解决方法可能因您的环境和项目配置而有所不同。建议您根据具体情况进行调整和尝试。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [配置文件spring-boot-starter-parent找不到](https://blog.csdn.net/Garnett_zk/article/details/125330044)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值