debian系统上交叉编译VNC源码

版权声明:微信 kobesdu https://blog.csdn.net/kobesdu/article/details/90206331

除了使用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

猜你喜欢

转载自blog.csdn.net/kobesdu/article/details/90206331