树莓派配置freeopcua

一、下载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