Reputation: 11
I use CMAKE to cross compile my code for QNX6.5 and using gcc/g++ 4.4.2
I added a new tool chain file for QNX7 using gcc/g++ 5.4.0. My issue is that I am failing the build on standard includes like , etc... Errors like the following: fatal error: map: No such file or directory compilation terminated.
These headers are installed and at a similar location as QNX 6.5 Here's an example:
/opt/qnx650/target/qnx6/usr/include/c++/4.4.2/map
/opt/qnx650/target/qnx6/usr/include/c++/4.4.2/debug/map
/opt/qnx650/target/qnx6/usr/include/cpp/map
/opt/qnx700/target/qnx7/usr/include/c++/v1/map
/opt/qnx700/target/qnx7/usr/include/c++/5.4.0/profile/map
/opt/qnx700/target/qnx7/usr/include/c++/5.4.0/map
/opt/qnx700/target/qnx7/usr/include/c++/5.4.0/debug/map
Here is the relevant differences in the compile commands: /opt/qnx650/host/linux/x86/usr/bin/qcc -lang-c++ -DNDEBUG-lang-c++ -Vgcc_ntox86 -Wc,-Wall -O -Wc,-std=gnu++0x -O2 -funsigned-char -Werror -Wno-strict-aliasing -s -Wp,-isystem,/opt/qnx650/target/qnx6/usr/include
/opt/qnx700/host/linux/x86/usr/bin/q++ -lang-c++ -DNDEBUG -lang-c++ -Vgcc_ntox86 -Wc,-Wall -O -Wc,-std=gnu++11 -stdlib=libstdc++ -Y _cxx -O2 -funsigned-char -Werror -Wno-strict-aliasing -s -Wp,-isystem,/opt/qnx700/target/qnx7/usr/include
I tried adding -stdlib and -Y, but no matter the system doesn't seem to recurse through the include directories.
Any help is appreciated, I am guessing that there is some flag or compiler directive that is required with the newer gcc compiler. The CMAKE dependency files are the same for both and neither directly show a path to any files under the /usr/include/c++/xxx/
Upvotes: 1
Views: 945