CTK PluginFramework移植到ARM平台
arm cotex a9
arm-linux-gnueabihf-gcc
Qt5.7 for arm
1.配置交叉编译器
有错误先忽略
2.修改Qt版本
Qt库是交叉编译到arm平台的,修改完点击Configure,有错误先忽略
指定Qt5的cmake路径,点击Configure
3.链接库问题
配置时提示找不到ld-linux-armhf.so.3
配置cmake交叉编译环境也无法解决只能通过软连接解决
#创建软连接
sudo ln -s /opt/gcc-linaro-arm-linux-gnueabihf-4.7-2012.11-20121123_linux/arm-linux-gnueabihf/lib/libstdc++.so.6 /lib/libstdc++.so.6
sudo ln -s /opt/gcc-linaro-arm-linux-gnueabihf-4.7-2012.11-20121123_linux/arm-linux-gnueabihf/libc/lib/ld-linux-armhf.so.3 /lib/ld-linux-armhf.so.3
sudo ln -s /opt/gcc-linaro-arm-linux-gnueabihf-4.7-2012.11-20121123_linux/arm-linux-gnueabihf/libc/lib/arm-linux-gnueabihf/libm.so.6 /lib/libm.so.6
sudo ln -s /opt/gcc-linaro-arm-linux-gnueabihf-4.7-2012.11-20121123_linux/arm-linux-gnueabihf/lib/libgcc_s.so.1 /lib/libgcc_s.so.1
sudo ln -s /opt/gcc-linaro-arm-linux-gnueabihf-4.7-2012.11-20121123_linux/arm-linux-gnueabihf/libc/lib/arm-linux-gnueabihf/libc.so.6 /lib/libc.so.6
#删除软连接
sudo rm -rf /lib/libstdc++.so.6 /lib/ld-linux-armhf.so.3 /lib/libm.so.6 /lib/libc.so.6 /lib/libgcc_s.so.1
4.使能编译插件系统
由于这里只用ctk.pluginframework
,不需要qt插件,所以去掉CTK_BUILD_QTDESIGNER_PLUGINS
后边的勾,将CTK_ENABLE_PluginFramework
勾上,编译成动态链接库,点击Configure
去除测试选项,点击Configure
5.配置cmake选项
将动态库编译成release版
设置ctk安装路径
6.编译
在cmake界面上点击Generate
生产Makefile,进入CTK-master/build
目录,执行`make -j4
7.解决无法引用dladdr
修改源码,位置CTK-master/Libs/Core/ctkBackTrace.cpp