新的更新
我想我现在应该编辑标题。
为了确保我有一个干净的环境,我
然后运行脚本
./configure -opensource -confirm-license -xplatform qnx-armv7le-qcc -v
因此在这里,-opensource -confirm-license只是避免了常见问题解答-v是显示完整消息。
很多错误信息。
Creating qmake...
make: Nothing to be done for `first'.
Running configuration tests...
Determining architecture... ()
qcc -Vgcc_ntoarmv7le -c -Wno-psabi -lang-c++ -g -Wall -W -fPIE -DQT_NO_CLIPBOARD -I../../mkspecs/qnx-armv7le-qcc -I. -I/opt/qnx650/target/qnx6/usr/include -I/opt/qnx650/target/qnx6/usr/include/freetype2 -o arch.o arch.cpp
Unable to determine architecture!
Could not determine the target architecture!
Turn on verbose messaging (-v) to see the final report.
Determining architecture... ()
g++ -c -pipe -g -Wall -W -fPIE -I../../mkspecs/linux-g++ -I. -o arch.o arch.cpp
g++ -o arch arch.o { test -n "" && DESTDIR="" || DESTDIR=.; } && test $(gdb --version | sed -e 's,[^0-9]\+\([0-9]\)\.\([0-9]\).*,\1\2,;q') -gt 72 && gdb --nx --batch --quiet -ex 'set confirm off' -ex "save gdb-index $DESTDIR" -ex quit 'arch' && test -f arch.gdb-index && objcopy --add-section '.gdb_index=arch.gdb-index' --set-section-flags '.gdb_index=readonly' 'arch' 'arch' && rm -f arch.gdb-index || true
Found architecture in binary
CFG_HOST_ARCH="x86_64"
CFG_HOST_CPUFEATURES=" mmx sse sse2"
System architecture: 'unknown'
Host architecture: 'x86_64'
C++11 auto-detection... ()
qcc -Vgcc_ntoarmv7le -c -Wno-psabi -lang-c++ -O2 -Wc,-std=gnu++0x -Wall -W -fPIE-DQT_NO_CLIPBOARD -I../../../mkspecs/qnx-armv7le-qcc -I. -I/opt/qnx650/target/qnx6/usr/include -I/opt/qnx650/target/qnx6/usr/include/freetype2 -o c++11.o c++11.cpp
C++11 disabled.
floatmath auto-detection... ()
qcc -Vgcc_ntoarmv7le -c -Wno-psabi -lang-c++ -O2 -Wall -W -fPIE -DQT_NO_CLIPBOARD-I../../../mkspecs/qnx-armv7le-qcc -I. -I/opt/qnx650/target/qnx6/usr/include -I/opt/qnx650/target/qnx6/usr/include/freetype2 -o floatmath.o floatmath.cpp
qcc -Vgcc_ntoarmv7le -c -Wno-psabi -lang-c++ -O2 -Wall -W -fPIE -DQT_NO_CLIPBOARD -I../../../mkspecs/qnx-armv7le-qcc -I. -I/opt/qnx650/target/qnx6/usr/include -I/opt/qnx650/target/qnx6/usr/include/freetype2 -o freetype.o freetype.cpp
FreeType disabled.
STL auto-detection... ()
qcc -Vgcc_ntoarmv7le -c -Wno-psabi -lang-c++ -O2 -Wall -W -fPIE -DQT_NO_CLIPBOARD -I../../../mkspecs/qnx-armv7le-qcc -I. -I/opt/qnx650/target/qnx6/usr/include -I/opt/qnx650/target/qnx6/usr/include/freetype2 -o stltest.o stltest.cpp
STL disabled.
STL functionality check failed! Cannot build Qt with this STL library.
Turn on verbose messaging (-v) to /home/pasadeveloper/qt-everywhere-opensourcesrc-5.1.1/qtbase/configure to see the final report.
更新:
我正在使用QNX for ARM,目标是Arm平台设备。
事情变得奇怪了。在Env Var中,我把
$QNX_CONFIGURATION=/etc/qnx
$QNX_JAVAHOME=/opt/qnx650/_jvm
$QNX_TARGET=/opt/qnx650/target/qnx6
$QNX_HOST=/opt/qnx650/host/linux/x86
但是当我做
qmake qmake.conf
mkspecs / qnx-armv7le-qcc文件夹时它返回错误消息
Project ERROR: QNX_TARGET environment variable not set
不知道现在发生了什么。
不只是qmake qmake.conf
我尝试在另一台主机ubuntu 12.04-64bit上构建qt 5.1.2。
也得到同样的错误信息。
Project ERROR: QNX_TARGET environment variable not set
我当时在Linux(FYI Ubuntu 12.04 -64bits)下进行Qt开发,但是我需要将该程序编译为QNX二进制文件。
我安装了为我提供QNX-gcc的QNX MOmentics IDE。
但我找不到qmake-qnx。
在QT / gcc_64 / mkspecs / qnx-armv7le-qcc下,有一个文件qmake.conf。我猜这是我可以生成我的qmake-qnx的地方。在运行qmake -o Makefile qmake.conf之后,将生成一个Makefile。
但是,当我运行make时,发生了错误。
qcc -Vgcc_ntoarmv7le -lang-c++ -Wl,-rpath-link,/opt/qnx650/target/qnx6/armle-v7/lib -Wl,-rpath-link,/opt/qnx650/target/qnx6/armle-v7/usr/lib -Wl,-O1 -Wl,-O1 -Wl,-rpath,/home/pasadeveloper/Qt5.1.0/5.1.0/gcc_64 -Wl,-rpath,/home/pasadeveloper/Qt5.1.0/5.1.0/gcc_64/lib -o qmake -L/opt/qnx650/target/qnx6/armle-v7/lib -L/opt/qnx650/target/qnx6/armle-v7/usr/lib -lm -L/home/pasadeveloper/Qt5.1.0//5.1.0/gcc_64/lib -lQt5Gui -lQt5Core -lGL -lpthread
cc: no files to process make: *** [qmake] Error 1 pasadeveloper@ubuntu:~/Qt5.1.0/5.1.0/gcc_64/mkspecs/qnx-armv7le-qcc$
最佳答案
您不会像这样“生成”您的qmake-qnx。您应该使用本机qmake为目标生成正确的makefile,以帮助交叉编译。另外,在相关的mkspecs文件夹中运行qmake qmake.conf
是错误的,因为这不是您可能认为的项目文件。
例如,在构建Qt本身时,应该为目标使用适当的mkspecs文件,如果它是为特定的arm qnx变体qnx-armv7le-qcc
构建的,则也就是上面提到的文件。
这是下载相关Qt来源后需要运行的确切命令,例如5.1.1:
./configure -opensource -confirm-license -xplatform qnx-armv7le-qcc -v
对于此QNX版本,最重要的是,如果没有SP1和libscreen,它将无法工作。 QPA插件将与其链接。该库在较新的QNX变体上为图形服务器提供API。您需要与QNX代表联系。
Here您可以找到有关该主题的更多信息。