除了使用vnc常规的编译流程之外,会报其他的错误
(1)报错
arm-linux-c++ -DX_DISPLAY_MISSING=1 -I../../common -O2 -Wall -c TXWindow.cxx
TXWindow.cxx:22:23: fatal error: X11/Xatom.h: No such file or directory
修改
把交叉编译好的x11文件夹复制到common目录下
(2)报错
arm-linux-c++ -O2 -Wall -o vncviewer DesktopWindow.o CConn.o vncviewer.o buildtime.o ../tx/libtx.a ../../common/rfb/librfb.a ../../common/network/libnetwork.a ../../common/rdr/librdr.a -lz -lXext -lX11
/usr/local/opt/FriendlyARM/toolschain/4.5.1/bin/../lib/gcc/arm-none-linux-gnueabi/4.5.1/../../../../arm-none-linux-gnueabi/bin/ld: cannot find –lXext
修改:
要把交叉编译完成的相关的依赖库的文件都复制到testlib文件夹中,放到unix文件夹下面
修改unix文件夹里面的makefile文件
增加一句
EXTRA_LIBS = $(COMMON)/zlib/libz.a –L$(COMMON)testlib –lXext –lX11
注意每一个子文件夹下面的makefile都需要修改
Vncconfig文件夹下的:
EXTRA_LIBS = -L ../testlib -lX11 -lXext -lxcb -lXau –lXdmcp
Vncviewer文件夹下的
EXTRA_LIBS = -L ../testlib -lXext -lX11 -lxcb -lXau -lXdmcp –lz
x0vncserver下的
EXTRA_LIBS = -lz -L ../testlib -lXext -lX11 -lxcb -lXi -lXau –lXdmcp
再次编译成功
注意其他使用到的命令
export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig
echo enable_malloc0returnsnull=yes>arm-linux.cache
./configure --prefix=$PREFIX --host=$HOST --enable-static-support --cache=arm-linux.cache