gcc 3.x compiler on QNX 6.3?

During the installation of QNX 6.3 it said something about the 3.x gcc compiler being available. Once I was running X I had it finish the install over the web and included all the components available. But once it was finished I noticed I was still running the 2.95.3 compiler, not the newer 3.x version.

Is there something special I have to do to configure the environment to use the 3.x compiler?

-e

Follow up: I’m trying to get the compiler to resolve to the correct hash_map header file and right now it isn’t finding any of the five that are available:

/usr/qnx630/host/qnx6/x86/usr/include/g+±3/hash_map
/usr/qnx630/host/qnx6/x86/usr/include/c++/3.3.1/ext/hash_map
/usr/qnx630/target/qnx6/usr/include/g+±3/hash_map
/usr/qnx630/target/qnx6/usr/include/c++/3.3.1/ext/hash_map
/usr/qnx630/target/qnx6/usr/include/cpp/hash_map

This looks like a compiler configuration issue, so it more or less belongs in the same category as my previous question.

Anyone know how to get this thing configured?

Many thanks!

-d

There is nothing to configure, just specify via -V (or -v don`t remember) to specify the version of compiler you want to use. You also want to specify what libraryt and corresponding header file to use (GCC, Dinkum, Dinkum C++, Dinkum EC++)

I see. the 3.x compiler wasn’t installed. I’ve installed everything available in the “QNX Software Installer” program. I just rechecked it and in the “3rd party software” list there is no mention of the gcc 3.x compiler.

Do I have to install it from somewhere else?

Are you sure? How did you check. The files (hash_map) mention in your previous seems to indicate it was installed. I’m fairly confident it’s there. If it’s not something is wrong. I personnaly never installed anything “extra” and 3.3.1 is there.

What does qcc -V says?

try qcc -V and look at the output. The output lists the installed compilers and targets and libs. Find the line which matches what you want 3.3.1, ntox86 and add that to the -V option:

qcc -V3.3.1,ntox86

(typing from memory, so I may have the example wrong).

Rick…

Wow, thanks! But I’ve never tried to select a separate compiler, and the using “qcc” instead of “gcc” came as a surprise. Anyway, the “qcc -V” returns the following:

cc: targets available in /usr/qnx630/host/qnx6/x86/etc/qcc:
2.95.3,gcc_ntoarmbe
2.95.3,gcc_ntoarmle
2.95.3,gcc_ntomipsbe
2.95.3,gcc_ntomipsle
2.95.3,gcc_ntoppcbe
2.95.3,gcc_ntoshle
2.95.3,gcc_ntox86 (default)
2.95.3,gcc_ntox86_gpp
2.95.3,gcc_ntoarmbe_acpp
2.95.3,gcc_ntoarmbe_acpp-ne
2.95.3,gcc_ntoarmbe_cpp
2.95.3,gcc_ntoarmbe_cpp-ne
2.95.3,gcc_ntoarmbe_ecpp
2.95.3,gcc_ntoarmbe_ecpp-ne
2.95.3,gcc_ntoarmle_acpp
2.95.3,gcc_ntoarmle_acpp-ne
2.95.3,gcc_ntoarmle_cpp
2.95.3,gcc_ntoarmle_cpp-ne
2.95.3,gcc_ntoarmle_ecpp
2.95.3,gcc_ntoarmle_ecpp-ne
2.95.3,gcc_ntomipsbe_acpp
2.95.3,gcc_ntomipsbe_acpp-ne
2.95.3,gcc_ntomipsbe_cpp
2.95.3,gcc_ntomipsbe_cpp-ne
2.95.3,gcc_ntomipsbe_ecpp
2.95.3,gcc_ntomipsbe_ecpp-ne
2.95.3,gcc_ntomipsle_acpp
2.95.3,gcc_ntomipsle_acpp-ne
2.95.3,gcc_ntomipsle_cpp
2.95.3,gcc_ntomipsle_cpp-ne
2.95.3,gcc_ntomipsle_ecpp
2.95.3,gcc_ntomipsle_ecpp-ne
2.95.3,gcc_ntoppcbe_acpp
2.95.3,gcc_ntoppcbe_acpp-ne
2.95.3,gcc_ntoppcbe_cpp
2.95.3,gcc_ntoppcbe_cpp-ne
2.95.3,gcc_ntoppcbe_ecpp
2.95.3,gcc_ntoppcbe_ecpp-ne
2.95.3,gcc_ntoshle_acpp
2.95.3,gcc_ntoshle_acpp-ne
2.95.3,gcc_ntoshle_cpp
2.95.3,gcc_ntoshle_cpp-ne
2.95.3,gcc_ntoshle_ecpp
2.95.3,gcc_ntoshle_ecpp-ne
2.95.3,gcc_ntox86_acpp
2.95.3,gcc_ntox86_acpp-ne
2.95.3,gcc_ntox86_cpp
2.95.3,gcc_ntox86_cpp-ne
2.95.3,gcc_ntox86_ecpp
2.95.3,gcc_ntox86_ecpp-ne
3.3.1,gcc_ntoarmbe
3.3.1,gcc_ntoarmle
3.3.1,gcc_ntomipsbe
3.3.1,gcc_ntomipsle
3.3.1,gcc_ntoppcbe
3.3.1,gcc_ntoshle
3.3.1,gcc_ntox86
3.3.1,gcc_ntoarmbe_acpp
3.3.1,gcc_ntoarmbe_acpp-ne
3.3.1,gcc_ntoarmbe_cpp
3.3.1,gcc_ntoarmbe_cpp-ne
3.3.1,gcc_ntoarmbe_ecpp
3.3.1,gcc_ntoarmbe_ecpp-ne
3.3.1,gcc_ntoarmbe_gpp
3.3.1,gcc_ntoarmle_acpp
3.3.1,gcc_ntoarmle_acpp-ne
3.3.1,gcc_ntoarmle_cpp
3.3.1,gcc_ntoarmle_cpp-ne
3.3.1,gcc_ntoarmle_ecpp
3.3.1,gcc_ntoarmle_ecpp-ne
3.3.1,gcc_ntoarmle_gpp
3.3.1,gcc_ntomipsbe_acpp
3.3.1,gcc_ntomipsbe_acpp-ne
3.3.1,gcc_ntomipsbe_cpp
3.3.1,gcc_ntomipsbe_cpp-ne
3.3.1,gcc_ntomipsbe_ecpp
3.3.1,gcc_ntomipsbe_ecpp-ne
3.3.1,gcc_ntomipsbe_gpp
3.3.1,gcc_ntomipsle_acpp
3.3.1,gcc_ntomipsle_acpp-ne
3.3.1,gcc_ntomipsle_cpp
3.3.1,gcc_ntomipsle_cpp-ne
3.3.1,gcc_ntomipsle_ecpp
3.3.1,gcc_ntomipsle_ecpp-ne
3.3.1,gcc_ntomipsle_gpp
3.3.1,gcc_ntoppcbe_acpp
3.3.1,gcc_ntoppcbe_acpp-ne
3.3.1,gcc_ntoppcbe_cpp
3.3.1,gcc_ntoppcbe_cpp-ne
3.3.1,gcc_ntoppcbe_ecpp
3.3.1,gcc_ntoppcbe_ecpp-ne
3.3.1,gcc_ntoppcbe_gpp
3.3.1,gcc_ntoshle_acpp
3.3.1,gcc_ntoshle_acpp-ne
3.3.1,gcc_ntoshle_cpp
3.3.1,gcc_ntoshle_cpp-ne
3.3.1,gcc_ntoshle_ecpp
3.3.1,gcc_ntoshle_ecpp-ne
3.3.1,gcc_ntoshle_gpp
3.3.1,gcc_ntox86_acpp
3.3.1,gcc_ntox86_acpp-ne
3.3.1,gcc_ntox86_cpp
3.3.1,gcc_ntox86_cpp-ne
3.3.1,gcc_ntox86_ecpp
3.3.1,gcc_ntox86_ecpp-ne
3.3.1,gcc_ntox86_gpp

What I want is the 3.x compiler, I definitely need STL (plus the extra containers like hash_map), and I need to be able to compile the boost template libraries (which I already downloaded, installed, and have been able to compile against, no problems yet).

My target is the P4 - the very machine I’m working with at the moment. So which of these selected configurations should I use, and what would the commandline look like to make it compile?

Many thanks!

-e

I think I got it. It would be:

 qcc -V3.3.1,gcc_ntox86 [...]

If you are using 6.3 you have 3.3.1.

QCC -V3.3.1,gcc_ntox86_cpp …

If you run just…

QCC -V

you will get a list of possible options.