QNX Momentics 6.3 C/C++ Tutorial problem

Hello, I am attempting to learn the Momentics IDE by using the tutorial.
When I attempt to build the simple “Hello World” project, I receive the
following error:

make -k all

makefile:4: *** missing separator. Stop.

Where my makefile is that given in the tutorial (altered slightly for C
project):

all: test1.exe

clean:

rm main.o test1.exe

hello.exe: main.o

g++ -g -o test1.exe main.o

main.o:

g++ -c -g main.c



Can anyone suggest something for me to try to get this working? I’m running
the IDE on Windows XP.

Thanks,

Don

Don Tucker <dtucker@arlut.utexas.edu> wrote:

Hello, I am attempting to learn the Momentics IDE by using the tutorial.
When I attempt to build the simple “Hello World” project, I receive the
following error:

make -k all

makefile:4: *** missing separator. Stop.

Almost definitely you used spaces instead of tabs.

Where my makefile is that given in the tutorial (altered slightly for C
project):

all: test1.exe

clean:

rm main.o test1.exe

These must be:

clean:
rm main.o test1.exe

And similarly for all the other commands that follow a target.

-David

hello.exe: main.o

g++ -g -o test1.exe main.o

main.o:

g++ -c -g main.c



Can anyone suggest something for me to try to get this working? I’m running
the IDE on Windows XP.

Thanks,

Don



David Gibbs
QNX Training Services
dagibbs@qnx.com

Thanks, David. I did have spaces instead of tabs. However, now the error
returned from a build is:

make -k all

process_begin: CreateProcess((null), g++ -c -g main.c, …) failed.

make (e=2): The system cannot find the file specified.

make: *** [main.o] Error 2

make: Target `all’ not remade because of errors.

g++ -c -g main.c

I double-checked, and the file main.c is both in the project and in the
appropriate directory. Any suggestions?

Don

“David Gibbs” <dagibbs@qnx.com> wrote in message
news:d77f9h$jsa$1@inn.qnx.com

Don Tucker <> dtucker@arlut.utexas.edu> > wrote:
Hello, I am attempting to learn the Momentics IDE by using the tutorial.
When I attempt to build the simple “Hello World” project, I receive the
following error:

make -k all

makefile:4: *** missing separator. Stop.

Almost definitely you used spaces instead of tabs.

Where my makefile is that given in the tutorial (altered slightly for C
project):

all: test1.exe

clean:

rm main.o test1.exe

These must be:

clean:
tab>rm main.o test1.exe

And similarly for all the other commands that follow a target.

-David

hello.exe: main.o

g++ -g -o test1.exe main.o

main.o:

g++ -c -g main.c



Can anyone suggest something for me to try to get this working? I’m
running
the IDE on Windows XP.

Thanks,

Don




\

David Gibbs
QNX Training Services
dagibbs@qnx.com

Don Tucker wrote:

Thanks, David. I did have spaces instead of tabs. However, now the error
returned from a build is:

make -k all

process_begin: CreateProcess((null), g++ -c -g main.c, …) failed.
[…]
I double-checked, and the file main.c is both in the project and in the
appropriate directory. Any suggestions?

Try adding this to the beginning of the Makefile:

CC:=qcc
CXX:=qcc

although it shouldn’t be necessary…


Chris Herborth (cherborth@qnx.com)
Never send a monster to do the work of an evil scientist.

Don Tucker <dtucker@arlut.utexas.edu> wrote:

Thanks, David. I did have spaces instead of tabs. However, now the error
returned from a build is:

make -k all

process_begin: CreateProcess((null), g++ -c -g main.c, …) failed.

Don’t try to use g++.

For C compilation, use qcc.

For C++ compilation, use QCC.

It will actually invoke the correct underlying GCC tools.

-David

make (e=2): The system cannot find the file specified.

make: *** [main.o] Error 2

make: Target `all’ not remade because of errors.

g++ -c -g main.c

I double-checked, and the file main.c is both in the project and in the
appropriate directory. Any suggestions?

Don

“David Gibbs” <> dagibbs@qnx.com> > wrote in message
news:d77f9h$jsa$> 1@inn.qnx.com> …
Don Tucker <> dtucker@arlut.utexas.edu> > wrote:
Hello, I am attempting to learn the Momentics IDE by using the tutorial.
When I attempt to build the simple “Hello World” project, I receive the
following error:

make -k all

makefile:4: *** missing separator. Stop.

Almost definitely you used spaces instead of tabs.

Where my makefile is that given in the tutorial (altered slightly for C
project):

all: test1.exe

clean:

rm main.o test1.exe

These must be:

clean:
tab>rm main.o test1.exe

And similarly for all the other commands that follow a target.

-David

hello.exe: main.o

g++ -g -o test1.exe main.o

main.o:

g++ -c -g main.c



Can anyone suggest something for me to try to get this working? I’m
running
the IDE on Windows XP.

Thanks,

Don




\

David Gibbs
QNX Training Services
dagibbs@qnx.com


David Gibbs
QNX Training Services
dagibbs@qnx.com

Don Tucker wrote:

Hello, I am attempting to learn the Momentics IDE by using the tutorial.
When I attempt to build the simple “Hello World” project, I receive the
following error:

make -k all

makefile:4: *** missing separator. Stop.

Where my makefile is that given in the tutorial (altered slightly for C
project):

You’ve discovered one of the classic stupidities of UNIX.
In makefiles, “tab” is different from other whitespace.
Read up on “make”.

John Nagle

Hello.

I cannot build the HellowWorld project of the tutorial, either :frowning: A
tutorial is usually very easy… but, it looks impossible :frowning:

After changing the g++ for qcc as you recommend and rebuilding all, a
lot of errors appear:

undefined reference to
std::_Winit::_Winit(void)'[C:/QNX630/target/qnx6/usr/include/cpp/iostream] undefined reference to std::_Winit::~_Winit(void)’[C:/QNX630/target/qnx6/usr/include/cpp/iostream]
undefined reference to std::ios_base::good(void) const'[C:/QNX630/target/qnx6/usr/include/cpp/iostream] undefined reference to std::ios_base::Init::~Init(void)’[C:/QNX630/target/qnx6/usr/include/cpp/iostream]
undefined reference to
std::ios_base::Init::Init(void)'[C:/QNX630/target/qnx6/usr/include/cpp/iostream] undefined reference to std::ios_base::width(int)’[C:/QNX630/target/qnx6/usr/include/cpp/iostream]
undefined reference to
std::locale::facet::_Register(void)'[C:/QNX630/target/qnx6/usr/include/cpp/iostream] undefined reference to std::terminate(void)’[C:/QNX630/target/qnx6/usr/include/cpp/iostream]
undefined reference to
`std::terminate(void)’[C:/QNX630/target/qnx6/usr/include/ctype.h]

:frowning: :frowning: I’m desperated… What’s wrong?

If I rewrite it in C, with the stdio.h and printf, it builds a hello
ELF file, but not a hello.exe as it must be, because PE Windows
parser is chosen :frowning:

Any help?

Thanks!

Dario Martin