07-19-2007 01:53 PM
make -k EXTRA_SUFFIXES=cpp all --file=U:/PFE/monprojet/QMakefile10494.tmp
QCC -g osiBus.cpp
In file included from osiBus.h:9,
from osiBus.cpp:10:
osiTypes.h:102: #error target endianness not specified
cc: C:/QNX630/host/win32/x86/usr/lib/gcc-lib/ntox86/2.95.3/cpp0 caught signal 33
make: *** [osiBus.o] Error 1
07-19-2007 02:19 PM
Hi hamza-
The comment directly above that line says:
/*
In your build project define
kLittleEndian=1
or
kBigEndian=1
to specify your platform's endianness
*/
You need to specify (in your OS Interface makefile) the endian-ness of your architecture by adding a define for one of the above-mentioned .
Hopefully this helps-
07-20-2007 03:14 PM
Thank you Tom for your answer,
I tried to do what you told me but it didn't work.
That's what I added at the beginning of the makefile :
ifndef
kLittleEndiandefine kLittleEndian=1
endef
endif
But I still have the same errors. I think it's the correct way to define a constant, if it's the case can you please show me how?
Thank you.
07-20-2007 05:04 PM
Hi hamza-
You need to pass the option as a compiler flag. This section works well in the NI QNX OSinterface makefile:
#
# Compiler variales
#
CXX := g++
INCLUDE_FLAG := -I
CXX_OUTPUT_FLAG:= -o
CXXFLAGS += -c -DkLittleEndian=1
CXX_INCLUDES +=
Please give this a try and let me know if you're still having problems.
Thanks-
07-21-2007 03:09 PM
Hello Tom,
I added the line into my makefile and it seems that the problem is solved. Now I'm getting other errors that I don't understand.
Here they are :
make -k EXTRA_SUFFIXES=cpp all --file=U:/PFE/monprojet/QMakefile24539.tmp
QCC -g -o osiBus.cpp
cc: no files to process
make: *** [osiBus.o] Error 1
QCC -g -o tSTC.cpp
cc: no files to process
make: *** [tSTC.o] Error 1
QCC -g -o tESEries.cpp
cc: no files to process
make: *** [tESeries.o] Error 1
make: Target `all' not remade because of errors.
I joined the makefile to this message so you can have a close look at it and maybe you help about this.
Thank you for support.
Hamza
07-23-2007 06:26 AM
Hi,
I'm also a beginner user of qnx momentics ide. When i first used it, the error "target endianness is not specified" appeared to me too.
I don't change anything in the make file. I give some try finally, i learned that it's because of project properties setting.
I opened the Project Properties--Qnx C/C++ Project---Compiler options window and write kLittleEndian=1 in the definition box. Perhaps your version and project type may be different from ours but there should be a similar adjustment.
Hope this help
07-23-2007 03:07 PM
07-23-2007 03:53 PM
Hi hamza-
Your compiler and linker should most likely match- this might explain why QCC can not find the object files it requires (judging by the error messages you posted previously). I would try setting them both to QCC and see if you have better luck.
07-24-2007 03:39 AM
07-24-2007 03:05 PM
QCC -O osiBus.cpp
osiBus.cpp: In method `u32 iBus::get(unsigned int, unsigned int, tStatus * = 0)':
osiBus.cpp:31: `_isPCI' undeclared (first use this function)
osiBus.cpp:31: (Each undeclared identifier is reported only once
osiBus.cpp:31: for each function it appears in.)
osiBus.cpp: At top level:
osiBus.cpp:41: syntax error before `::'
osiBus.cpp:44: ANSI C++ forbids declaration `_physicalAddress' with no type
osiBus.cpp:45: ANSI C++ forbids declaration `_size' with no type
osiBus.cpp:46: parse error before `}'
cc: C:/QNX630/host/win32/x86/usr/lib/gcc-lib/ntox86/2.95.3/cc1plus caught signal 33
make: *** [osiBus.o] Error 1
The osiBus.cpp is the same file I downloaded from NI site. Looking at errors I think I should link some other header files. I added the path for all the includes I need for the project in the linker tab from project settings and still got the same errors. I copied the files in the same directory than the project and it worked but still got the same errors.
I need a list of all files that are necessary to build a project for developping drivers in QNX.
I was looking for the files concerning the DMA but I didn't find. Can you please tell me which one?
Tom, is the makefile I joined to my last message correct?
Thank you for your support, I need it too much.