How to build Qt 5.1 for QNX goal (hand)

new update

I think now I have to edit the name.

To make sure I got a clean environment, I

  • download qt5.1.1 src code from qt-prject.
  • export QNX_TARGET, QNX_HOST and add QNX_HOST to PATH.
  • then run the script ./configure -opensource -confirm-license -xplatform qnx-armv7le-qcc -v

so here, -opensource -confirm-license just avoid Q & A -v to show the full message.

a lot of error messages.

 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. 

UPDATE: I am working on QNX for ARM, the goal is to build a platform for the hands. The thing is getting weird. in Env Var, I put

 $QNX_CONFIGURATION=/etc/qnx $QNX_JAVAHOME=/opt/qnx650/_jvm $QNX_TARGET=/opt/qnx650/target/qnx6 $QNX_HOST=/opt/qnx650/host/linux/x86 

but when I do qmake qmake.conf folder mkspecs / qnx-armv7le-qcc it returns a Project ERROR: QNX_TARGET environment variable not set error message Project ERROR: QNX_TARGET environment variable not set

I don’t know what is happening now.


not just qmake qmake.conf I'm trying to build qt 5.1.2 on another host, ubuntu 12.04-64bit. also get the same error message. Project ERROR: QNX_TARGET environment variable not set


I worked on developing Qt for Linux (FYI Ubuntu 12.04 -64bits), but I need to compile this program for binary code for QNX. I install the QNX MOmentics IDE that provide QNX-gcc for me. but i can't find qmake-qnx.

QT / gcc_64 / mkspecs / qnx-armv7le-qcc has a qmake.conf call file. I think this is where I can create my qmake-qnx. after running qmake -o Makefile qmake.conf creates a Makefile.

However, an error occurred while starting 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$

+4
source share
2 answers

You are not generating your qmake-qnx. You should use the built-in qmake to create your own makefiles for your purpose to help cross-compile. In addition, running qmake qmake.conf in the corresponding mkspecs folder is incorrect because it is not a project file, as you think.

When building Qt, for example, you must use the appropriate mkspecs files for the purpose, in which case it is the one you mentioned above if it was created for this qnx variant of a specific leverage called qnx-armv7le-qcc .

Here is the exact command you need to run after loading the appropriate Qt sources, for example 5.1.1:

 ./configure -opensource -confirm-license -xplatform qnx-armv7le-qcc -v 

For this version of QNX, the bottom line, if you do not have SP1 and libscreen, will not work. The QPA plugin will contact him. This library provides an API to the graphics server for new QNX variants. You need to speak with QNX representatives.

Here you can find additional information on this topic.

+4
source

$ QNX_TARGET = / Opt / qnx650 / target / QNX6

probably doesn't do what you want. In shell scripts, you do not put "$" in front of a variable when you define a variable, only when you access a variable:

X = hello

echo $ X

+1
source

Source: https://habr.com/ru/post/1501000/


All Articles