VNC
移植过程
所用系统ubuntu
移植好的包下载地址http://download.csdn.net/detail/guoqianqian5812/8948849
移植的arm库下载地址http://download.csdn.net/detail/guoqianqian5812/8948885
一、准备工作
1
、下载vnc源码包,这里移植的是vnc-4_1_3-unixsrc
下载地址http://www.realvnc.com/download/open/4.0/
2
、交叉编译器:arm-linux-gcc-4.5.1-v6-vfp
二、
common目录下源码的configure和make过程
1
、解压下载好的源码包

2
、进入目录,并查看源码源码包中的文件

3
、进入common目录./configure
4
、修改该目录下的config.cache如下

5
、再次./configure
6
、进入common下的目录zlib更改Makefile文件(将里面的gcc改为arm-linux-gcc),然后make
7
、进入common目录make就会出现下面的错误

错误原因:vnc-4_1_3-unixsrc/common/network下的
TcpSocket.cxx文件中调用了atoi函数,但是没有生命atoi函数的头文件
解决办法:打开
TcpSocket.cxx文件添加#include和#include
回到
common目录继续make
三、
unix目录下源码的configure和make过程
1
、进入unix目录编译
./configure --with-installed-zlib
2
、修改修改该目录下的config.cache
然后再次 ./configure --with-installed-zlib
3
、然后make出现错误如下

错误原因:从错误的提示上可以知道在编译时搜索头文件的位置是
commo下,在红线处可以看出
解决办法有两种:
1将cp -rf /usr/include/X11/ ../common/,这是将头文件放到编译时搜索的路径
2
进入makefile修改搜索路径
修改完成后继续
make

错误原因和(二)中的
7是一样的
修改完成后继续
make

错误原因可能是:
1、交叉编译器没有找到动态库2、交叉编译器找到的库的类型不对,他不是ARM类型的动态库3、交叉编译时需要这个库但是你没有添加
解决办法:对于没有找到动态库的解决办法是在
Makefile中指定正确的路径,对于库的类型不对应的解决办法就是需要重新编译一下自己需要的库文件,这里的平台是arm,所以所有的库都必须是arm,第三种错误只需要相应的位置添加就行了

这里的
-L/usr/testlib 就是我的动态库的路径
然后继续
make

错误原因:这就是说的第三种情况,没有调用该调用的库文件
导致的错误一般是

解决办法:

其他的错误都是和这一样的,解决办法也是一样
四、编译完成后会在
unix目录下的vncviewer和x0vncserver目录下找到相应的可执行文件
待会把效果图拍下来大家看一下
有问题可以联系我哦