我已将Qt 4.8.6移植到sparc linux.as根据我的知识,spws和Linux支持在qws文件夹中不可用。 我已将linux-generic-g ++复制到linux-sparc-g ++并根据我的工具链功能更改了qmake.conf,如下所示。
include(../../common/linux.conf)
include(../../common/gcc-base-unix.conf)
include(../../common/g++-unix.conf)
include(../../common/qws.conf)
QMAKE_CFLAGS_RELEASE = -nostdlib -nostartfiles -shared
QMAKE_CXXFLAGS_RELEASE = -nostdlib -nostartfiles -shared
QMAKE_LFLAGS_RELEASE = -nostdlib -nostartfiles -shared
QMAKE_CC = sparc-elf-gcc
QMAKE_CXX = sparc-elf-g++
QMAKE_LINK = sparc-elf-g++
QMAKE_LINK_SHLIB = sparc-elf-g++
QMAKE_AR = sparc-elf-ar cqs
QMAKE_OBJCOPY = sparc-elf-objcopy
QMAKE_STRIP = sparc-elf-strip
load(qt_config)
此后我配置了以下配置功能
./configure -verbose -opensource -confirm-license -no-qt3support -no-glib -depths 32 -qt-gfx-vnc -no-gfx-qvfb -no-gfx-multiscreen -no-gfx-directfb -debug -shared -embedded sparc -platform qws/linux-x86_64-g++ -xplatform qws/linux-sparc-g++ -host-little-endian -little-endian -no-openssl -no-opengl -no-sql-sqlite -no-xmlpatterns -no-multimedia -no-audio-backend -no-phonon -no-script -no-phonon-backend -no-svg -multimedia -no-webkit -nomake demos -no-separate-debug-info -prefix /usr/local/ -plugindir /usr/local/plugins -importdir /usr/local/imports -translationdir /usr/local/translations -no-rpath
我已经成功创建了所有共享库,并将其复制到我的board / lib / path
中现在我的计划是使用下面的命令在板上运行模拟时间示例(我没有显示我正在使用的VNC显示)
./analogclock -qws -display VNC:0
analogclock [120]:8 ip 5019b06c(rpc f000eff0)的段错误sp ef82cae8 libQtGui.so.4.8.6中的错误30001 [50017000 + 10cb000]分段错误
当graphics_system_name.isEmpty();我遇到分段错误在src / gui / kernel / qapplication.cpp文件中调用。
调试后我发现全局" QString QApplicationPrivate :: graphics_system_name;"使用有效地址0x5143a400成功创建对象。 但是我无法访问任何QString成员函数,例如(graphics_system_name.data(),graphics_system_name.size().....)
如果我创建了本地QString类对象,它可以正常工作。如果是全局分段错误。