树莓派配置freeopcua

本文档详细介绍了如何在640M内存的VPS上编译FreeOPCUA及其依赖项mbedtls的过程。面对内存限制引发的编译错误,文章提供了增加交换分区的具体步骤,并给出了使用cmake进行编译的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、下载freeopcua的源码

git clone https://github.com/FreeOpcUa/freeopcua.git

切换回2016-10-8的版本

git reset 8c16900b14e76d38cacb8a8a8e22cfb4410ef358

需要的依赖

sudo apt-get install libboost-all-dev

sudo apt-get install m4

sudo apt-get install autoconf automake 

sudo apt-get install libtool 

sudo apt-get install g++

sudo apt-get install libxml2-dev 

 

编译出现:

internal compiler error: Killed (program cc1plus)

在 640M 内存的 vps 做编译的时候出现了上述错误.
几经搜索, 才发可能是系统没有交换分区, 编译过程中内存耗尽, 导致了编译中断 …
解决方式也很简单, 就是增加一个交换分区:

1. 创建分区文件, 大小 2G

dd if=/dev/zero of=/swapfile bs=1k count=2048000

2. 生成 swap 文件系统

mkswap /swapfile

3. 激活 swap 文件

swapon /swapfile

这样就木有问题了, 但是这样并不能在系统重启的时候自动挂载交换分区, 这样我们就需要修改 fstab.
修改 /etc/fstab 文件, 新增如下内容:

/swapfile  swap  swap    defaults 0 0

这样每次重启系统的时候就会自动加载 swap 文件了.

 

二、使用cmake编译

需要安装mbedtls

git clone https://github.com/ARMmbed/mbedtls.git
切换分支
git checkout -b mbedtls-2.4 origin/mbedtls-2.4
切换到2.4分支
git branch 
  development
* mbedtls-2.4

然后用cmake安装

# 生成makefile文件,启用生成动态链接库选项
cmake -DUSE_SHARED_MBEDTLS_LIBRARY=On .
# 以下步骤和make方式相同
make
sudo make install

 

转载于:https://www.cnblogs.com/ch122633/p/8694000.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值