jrtplib编译和交叉编译
http://blog.csdn.net/crazyman2010/article/details/12062039
1.下载jrtplib,jthread
http://research.edm.uhasselt.be/jori/jrtplib/jrtplib-3.9.1.tar.bz2 (此版本要求jthread1.3.0及以上)
http://research.edm.uhasselt.be/jori/jthread/jthread-1.3.1.tar.gz
2.安装cmake
http://www.cmake.org/files/v2.8/cmake-2.8.11.2.tar.gz
tar xvf cmake-2.8.11.2.tar.gz
cd cmake-2.8.11.2
./bootstrap; make; make install
==============================================X86==========================================================
1.编译jthread
tar xvf jthread-1.3.1.tar.gz
cd jthread-1.3.1
cmake .
make
make install
默认安装到/usr/local/lib
2.编译jrtplib
tar xvf jrtplib-3.9.1.tar.bz2
cd jrtplib-3.9.1
cmake .
make
make install
默认安装到/usr/local/lib
==============================================交叉编译==========================================================
1.交叉编译jthread
cd jthread-1.3.1
修改CMakeLists.txt
set(VERSION 3.9.1)
#设置目标系统,随便设置
set(CMAKE_SYSTEM_NAME Linux)
#设置c++编译器,如果有C代码,就设置C的
set(CMAKE_CXX_COMPILER arm-hisiv200-linux-gnueabi-g++)
#设置搜索路径
set(CMAKE_FIND_ROOT_PATH "/opt/arm-hisiv200-linux" "/home/mo/jrtplib_arm")
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NERVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
#设置安装路径
set(CMAKE_INSTALL_PREFIX "/home/mo/jrtplib_arm")
保存好
cmake .
make
make install
库和头文件都会被安装到/home/mo/jrtplib_arm/lib,/home/mo/jrtplib_arm/include
2.交叉编译jrtplib
步骤同上
==============================================测试==========================================================
将库和example1放到板子上运行,出现如下错误
ERROR: Can't retrieve login name
看了下代码,解决办法是:export LOGNAME=root,再运行程序
运行成功,但是设置目标地址为127.0.0.1,端口为8000,收不到自己发的数据包
原因是lo没有设置地址,ifconfig lo 127.0.0.1,再次测试,一切正常。