This thread is intended to provide a list of FAQs with concise, but reasonably complete answers. It is a living document that will be updated frequently.
Q: How do I install the Intel C++ Compiler 11.0 Professional Edition for QNX* Neutrino* RTOS?
A:If you have an 8.1 version of the Intel C++ Compiler for QNX* Neutrino* RTOS installed, you do need to uninstall it before installing this version. Please see the release documentation for the 8.1 compiler for uninstall instructions.If you have an alpha or beta version of the Intel C++ Compiler 11.0 Professional Edition for QNX* Neutrino* RTOS installed, we strongly recommend that you uninstall it before installing the product version.
When you select to download the tools on the web site you will be redirected to the Intel Software Products Registration Center. Once you have selected a product you will receive an e-mail with a license file and instruction on how to download the product. This license file is important as the tools will not work without it. We recommend that you save this file in the same location as other licenses for our software products. If this is the only product you have from Intel Corporation then we recommend that you copy the license file to c:Program FilesCommon FilesIntelLicenses. The license file directoryis set byenvironment variable INTEL_LICENSE_FILE. The installation will ask you to activate the tools. This can be done by using the serial number (provided in the same e-mail as the license file) but then your system needs to be connected to the internet. The other method would be to use the license file.
You must have the QNX* Momentics* Development Suite installed before installing the compiler.
Please make sure that you do not have anti-virus or other system protection software set to silently block "suspicious" scripts or installers, as this can interfere with the installation.
The Intel C++ compiler for QNX can coexist with the standard (non-QNX) Intel C++ Compiler for Windows.
Copy the installation executable w_ccqnx_p_11.0.017_ia32.exe to a temporary location. Run the self-extracting .exe-file.
The compiler will be installed as default to: c:IntelCompiler11.017cppqnx. The default installation master directory is C:Intel. If you select a different directory make sure there are no spaces in the directory path name.
Changing and Uninstalling Compiler
If you want to add or remove components of the installed product, rerun the product setup program (setup.exe) of the version currently installed. The setup program was unpacked to C:Program FilesIntelDownloadC++CompilerQNX11.0 by default.
When installing an updated version of the product, you do not need to remove the older version first. If you remove a newer version of the product you may have to install the integrations into Momentics* from the older version.
To uninstall the Intel C++ Compiler 11.0 Professional Edition for QNX* Neutrino* RTOS:
Run Add or Remove Programs from Windows* Start / Control Panel Highlight the Intel C++ Compiler for QNX* Neutrino* RTOS version 11.0.xxx Choose option Remove and follow all instructions.
To change to a different version of Intel C++ Compiler for QNX* Neutrino* RTOS, please run the Intel compiler environment setup script, iccvars.bat, using the desired version. The script is under cppqnxbin.
For example, to switch to version 015, run this script
And then lanuch Momentics in this shell with command line below %QNX_HOST%usrqdeeclipseqde.exe -vmargs -Xms256m -Xmx512m
Q: What are the hardware/software requirements for using this tool?
A:System Requirements As most modern laptops and desktops are powerful systems you should be able to use any of your systems containing the following:
A system based on an IA-32 architecture processor (minimum 450 MHz Intel Pentium II processor or greater - Intel Core or Intel Xeon processor family recommended) 1GB of RAM 500 MB of free hard disk space, plus an additional 300 MB during installation for download and temporary files 100 MB of hard disk space for the virtual memory paging file. Be sure to use at least the minimum amount of virtual memory recommended by the operating system.
Microsoft Windows XP*. Other Windows versions have not been tested apart from Windows 2000.
The following QNX* development product must be installed: o QNX* Momentics* Development Suite 6.3.2
There are some additional patches which we recommend that you install. They are listed below just for completeness. The tools will work without the patches listed below if you avoid trying the very latest SSE3 instructions. So for full utilization of the capabilities of the Intel Atom processor please follow the steps below:
o Download an updated 2.17 version of binutils from http://community.qnx.com/sf/frs/do/viewRelease/projects.toolchain/frs.bi... o Unzip win32-binutils-2.17.zip and copy ntox86-as-2.17 and ntox86-ld-2.17 to %QNX_HOST%usrbin as i386-pc-nto-qnx6.3.0-as and i386-pc-nto-qnx6.3.0-ld respectively (overwrite the old files) o Additional components such as debugger may require update in order to support QNX* Momentics* IDE, please contact QNX http://www.qnx.com for further update if you run into binutil issue.
Q: How do I link my application with static Intel IPP libraries under QNX* Momentics* development tool?A:There are two ways to link static Intel IPP libraries: 1) without using IPP dispatch functions, and 2) with IPP dispatch functions
Without Dispatch FunctionSingle Processor Static Linkage1. Include a processor-specific header ipp_xx.h (header file can be found from ipplp32toolsstaticlib) before the #include ipp.h , where xx denotes various IA-32 architecture processors:xx: w7:Intel Pentium 4; s8: Intel Atom2. Add merged libraries, followed by ippcore library into your project library list. To do this under QNX Momentics* IDE: Properties-> QNX C/C++ Project ->Linker -> Category Extra libraries For example: to include signal processing domain for linkage, the following libraries need to be added into library list (order needs to be maintained):
3. Call Intel IPP functions normally from your applications.
With Dispatch Function1. Include ipp.h in your code, 2. Add the e-merged libraries followed by merged libraries and then the ippcore library into your project library list. To do this under QNX Momentics* IDE: Properties-> QNX C/C++ Project ->Linker -> Category Extra libraries For example: to invoke the signal processing API, the following libraries need to be added into library list (order needs to be maintained):
ippsemerged ippsmerged ippcore
3. Before calling Intel IPP functions, invoke the static IPP dispatch function ippStaticInit() first 4. Call Intel IPP functions normally from your applications. See also Intel IPP - Intel IPP linkage models- quick reference guide inhttp://software.intel.com/en-us/articles/intel-integrated-performance-pr...
I'm trying to use the static IPP libs with QNX but I can't figure out what *merged.a file to link in. My target processor is a Core2-duo so I think I need to #include before #include . But there is no libipppxmerged.a file in the installation. The installation has the following lib*merged.a files -- ace, ac, cce, cc, che, ch, cve, cv, dce, .... vm but no 'px' designator.
Hi Anderson, You may link libippsmerged.a for px_ippsGetLibVersion.In head file, 'px' means other intel arch except pentium 4 (w7)and atom(s8).For library file, it is distinguished by functionanity. E.g.,'ac'for Audio Coding library, 'cc'for Color Conversion library and 's' for Signal Processing.Thanks.-Yang
Hi Gray, It's hard to say the performance issue since it runing on two different CPU arch and also it depends on how you evaluate the performance. Are you runing through remote connection or runing from local? How did you count the execution time? Is the Core2 duo your final production target? The QNX IPP library is optimized for atom specifically (include ipp_s8.h for atom for link single processor specific static library only). px istargeted for general IA32 arch. You also can specify the compilation option for your code.If you are compiling from Momentics IDE, you can add option in QNX C/C++ Project->Compiler->Other options, for example, add option: -Wc,-msse4.1 You can find more options by typing icc --help in command line. For the IPP library link issue, you can refer to the document: start->Intel Software Development tools->Intel C++ compiler for QNX...->Intel Integrated Performance...->Intel IPP Document Index, especially the "Getting started with Intel IPP" which is located in c:/Intel/Compiler/11.1/005/qnx/Documentation/ipp/Getting_Started.htm.(assume you installed the compiler in c:/Intel). There are descriptions for how to using the intel IPP Static libraries.Please let me know if any issues.Thanks.-Yang
Hi Gary, What's the version of icc compiler and QNX Momentics you use? I tried compiler 11.1.005 and QNX6.4.0(with IDE4.5) and everything goes fine. (from the disassembler, I can see movsldup instruction generated.). The compiler will call the qnx assember in c:QNX640hostwin32x86usrbin folder. Thanks. -Yang
Hi Gary, Please let me know if the upgrade solve the problem.Thanks.-Yang