This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [SCALUG] Re: c++ question


My thanks to those who responded to my question -- I really appreciate the help.

However, my problem still remains.

Since I received multiple suggestions and I didn't want to discount any, I created two different source files, "hello0.cpp" and "hello1.cpp" (sources files are attached). I then created "Makefile[123]" for compiling and linking "hello0.cpp" and "Makefile[456]" for compiling and linking "hello1.cpp" (files are attached).

I executed each "Makefile" in turn, the results of which are in the corresponding "make?.txt" files.

As you can see, when I used "namespace std" I still received results that seemed to indicate that the appropriate link library was not included. When I used "std::cout" the results indicated that "cout" was not declared.

While I was writing this, another thought occured to me, so I created "hello2.cpp" and "Makefile7", the results of which are in "make7.txt". Still no joy.

I know I've got to be missing something, but I'm still at a loss for what it might be.

Thanks again.


LLeweLLyn Reese wrote:

520075708323-0001@t-online.de (Alexander Helm) writes:


Hi John,

John Burski wrote:

[...]
// File: hello.cpp
#include <iostream>

using namespace std;

Do you really want to bring in everything in namespace std? Like
'count' and 'y1'? I don't think so.

using std::cout;

will bring in only cout. It's better to use individual using statements.


int main() {
cout << "Hello, World\n";
}
[...]

If you add the above line everything should do fine (alternativly you
can use std::cout instead of cout)


[...]
INCLUDE = /usr/include/g++-3
LIBES = -lstdc++-3-libc6.2-2-2.10.0
hello: hello.o
g++ -o hello hello.o $(LIBES)
hello.o: hello.cpp
g++ -c -I$(INCLUDE) hello.cpp

I would urge you not to include system-libraries this way, it makes
your source less portable.

CU
Alexander

_______________________________________________
scalug-list mailing list
scalug-list@mn-linux.org
https://mailman.real-time.com/mailman/listinfo/scalug-list

.


--
John Burski

@HOME S.I.M.U. (Well, sometimes I am :)  )

... and still searching for the cheese!


// File: hello.cpp

#include <iostream>
using namespace std;

int main() 
{
   cout << "Hello, World\n";
}
// File: hello.cpp

#include <iostream>
using std::cout;

int main() 
{
   cout << "Hello, World\n";
}
INCLUDE = /usr/include/g++-3
LIBES = -lgcc

hello0: hello0.o
	g++ -o hello0 hello0.o $(LIBES)

hello0.o: hello0.cpp
	g++ -c -I$(INCLUDE) hello0.cpp
INCLUDE = /usr/include/g++-3
LIBES = -lstdc++

hello0: hello0.o
	g++ -o hello0 hello0.o $(LIBES)

hello0.o: hello0.cpp
	g++ -c -I$(INCLUDE) hello0.cpp
INCLUDE = /usr/include/g++-3
LIBES = -lstdc++ -lgcc

hello0: hello0.o
	g++ -o hello0 hello0.o $(LIBES)

hello0.o: hello0.cpp
	g++ -c -I$(INCLUDE) hello0.cpp
INCLUDE = /usr/include/g++-3
LIBES = -lgcc

hello1: hello1.o
	g++ -o hello1 hello1.o $(LIBES)

hello1.o: hello1.cpp
	g++ -c -I$(INCLUDE) hello1.cpp
INCLUDE = /usr/include/g++-3
LIBES = -lstdc++

hello1: hello1.o
	g++ -o hello1 hello1.o $(LIBES)

hello1.o: hello1.cpp
	g++ -c -I$(INCLUDE) hello1.cpp
INCLUDE = /usr/include/g++-3
LIBES = -lstdc++ -lgcc

hello1: hello1.o
	g++ -o hello1 hello1.o $(LIBES)

hello1.o: hello1.cpp
	g++ -c -I$(INCLUDE) hello1.cpp
Script started on Thu Dec 26 09:18:00 2002
]0;jburski@natasha:~/toolkit/postgresql/c++

[jburski@natasha c++]$ 
[jburski@natasha c++]$ 
[jburski@natasha c++]$ m
[jburski@natasha c++]$ m
[jburski@natasha c++]$ ma
[jburski@natasha c++]$ ma
[jburski@natasha c++]$ mak
[jburski@natasha c++]$ mak
[jburski@natasha c++]$ make
[jburski@natasha c++]$ make
[jburski@natasha c++]$ make 
[jburski@natasha c++]$ make 
[jburski@natasha c++]$ make -
[jburski@natasha c++]$ make -
[jburski@natasha c++]$ make -f
[jburski@natasha c++]$ make -f
[jburski@natasha c++]$ make -f 
[jburski@natasha c++]$ make -f 
[jburski@natasha c++]$ make -f M
[jburski@natasha c++]$ make -f M
[jburski@natasha c++]$ make -f Ma
[jburski@natasha c++]$ make -f Ma
[jburski@natasha c++]$ make -f Mak
[jburski@natasha c++]$ make -f Mak
[jburski@natasha c++]$ make -f Make
[jburski@natasha c++]$ make -f Make
[jburski@natasha c++]$ make -f Makef
[jburski@natasha c++]$ make -f Makef
[jburski@natasha c++]$ make -f Makefi
[jburski@natasha c++]$ make -f Makefi
[jburski@natasha c++]$ make -f Makefil
[jburski@natasha c++]$ make -f Makefil
[jburski@natasha c++]$ make -f Makefile
[jburski@natasha c++]$ make -f Makefile
[jburski@natasha c++]$ make -f Makefile1
[jburski@natasha c++]$ make -f Makefile1
g++ -o hello0 hello0.o -lgcc
hello0.o: In function `main':
hello0.o(.text+0x19): undefined reference to `cout'
hello0.o(.text+0x1e): undefined reference to `ostream::operator<<(char const*)'
collect2: ld returned 1 exit status
make: *** [hello0] Error 1
]0;jburski@natasha:~/toolkit/postgresql/c++

[jburski@natasha c++]$ 
[jburski@natasha c++]$ exit

Script done on Thu Dec 26 09:18:22 2002
Script started on Thu Dec 26 09:18:48 2002
]0;jburski@natasha:~/toolkit/postgresql/c++

[jburski@natasha c++]$ 
[jburski@natasha c++]$ 
[jburski@natasha c++]$ m
[jburski@natasha c++]$ m
[jburski@natasha c++]$ ma
[jburski@natasha c++]$ ma
[jburski@natasha c++]$ mak
[jburski@natasha c++]$ mak
[jburski@natasha c++]$ make
[jburski@natasha c++]$ make
[jburski@natasha c++]$ make 
[jburski@natasha c++]$ make 
[jburski@natasha c++]$ make -
[jburski@natasha c++]$ make -
[jburski@natasha c++]$ make -f
[jburski@natasha c++]$ make -f
[jburski@natasha c++]$ make -f 
[jburski@natasha c++]$ make -f 
[jburski@natasha c++]$ make -f M
[jburski@natasha c++]$ make -f M
[jburski@natasha c++]$ make -f Ma
[jburski@natasha c++]$ make -f Ma
[jburski@natasha c++]$ make -f Mak
[jburski@natasha c++]$ make -f Mak
[jburski@natasha c++]$ make -f Make
[jburski@natasha c++]$ make -f Make
[jburski@natasha c++]$ make -f Makef
[jburski@natasha c++]$ make -f Makef
[jburski@natasha c++]$ make -f Makefi
[jburski@natasha c++]$ make -f Makefi
[jburski@natasha c++]$ make -f Makefil
[jburski@natasha c++]$ make -f Makefil
[jburski@natasha c++]$ make -f Makefile
[jburski@natasha c++]$ make -f Makefile
[jburski@natasha c++]$ make -f Makefile1
[jburski@natasha c++]$ make -f Makefile1
g++ -c -I/usr/include/g++-3 hello0.cpp
g++ -o hello0 hello0.o -lgcc
hello0.o: In function `main':
hello0.o(.text+0x19): undefined reference to `cout'
hello0.o(.text+0x1e): undefined reference to `ostream::operator<<(char const*)'
collect2: ld returned 1 exit status
make: *** [hello0] Error 1
]0;jburski@natasha:~/toolkit/postgresql/c++

[jburski@natasha c++]$ 
[jburski@natasha c++]$ exit

Script done on Thu Dec 26 09:19:07 2002
Script started on Thu Dec 26 09:19:29 2002
]0;jburski@natasha:~/toolkit/postgresql/c++

[jburski@natasha c++]$ 
[jburski@natasha c++]$ 
[jburski@natasha c++]$ m
[jburski@natasha c++]$ m
[jburski@natasha c++]$ ma
[jburski@natasha c++]$ ma
[jburski@natasha c++]$ mak
[jburski@natasha c++]$ mak
[jburski@natasha c++]$ make
[jburski@natasha c++]$ make
[jburski@natasha c++]$ make 
[jburski@natasha c++]$ make 
[jburski@natasha c++]$ make -
[jburski@natasha c++]$ make -
[jburski@natasha c++]$ make -f
[jburski@natasha c++]$ make -f
[jburski@natasha c++]$ make -f 
[jburski@natasha c++]$ make -f 
[jburski@natasha c++]$ make -f M
[jburski@natasha c++]$ make -f M
[jburski@natasha c++]$ make -f Ma
[jburski@natasha c++]$ make -f Ma
[jburski@natasha c++]$ make -f Mak
[jburski@natasha c++]$ make -f Mak
[jburski@natasha c++]$ make -f Make
[jburski@natasha c++]$ make -f Make
[jburski@natasha c++]$ make -f Makef
[jburski@natasha c++]$ make -f Makef
[jburski@natasha c++]$ make -f Makefi
[jburski@natasha c++]$ make -f Makefi
[jburski@natasha c++]$ make -f Makefil
[jburski@natasha c++]$ make -f Makefil
[jburski@natasha c++]$ make -f Makefile
[jburski@natasha c++]$ make -f Makefile
[jburski@natasha c++]$ make -f Makefile2
[jburski@natasha c++]$ make -f Makefile2
g++ -c -I/usr/include/g++-3 hello0.cpp
g++ -o hello0 hello0.o -lstdc++
hello0.o: In function `main':
hello0.o(.text+0x19): undefined reference to `cout'
hello0.o(.text+0x1e): undefined reference to `ostream::operator<<(char const*)'
collect2: ld returned 1 exit status
make: *** [hello0] Error 1
]0;jburski@natasha:~/toolkit/postgresql/c++

[jburski@natasha c++]$ 
[jburski@natasha c++]$ exit

Script done on Thu Dec 26 09:19:45 2002
Script started on Thu Dec 26 09:19:58 2002
]0;jburski@natasha:~/toolkit/postgresql/c++

[jburski@natasha c++]$ 
[jburski@natasha c++]$ 
[jburski@natasha c++]$ s
[jburski@natasha c++]$ s
[jburski@natasha c++]$ sc
[jburski@natasha c++]$ sc
[jburski@natasha c++]$ scr
[jburski@natasha c++]$ scr
[jburski@natasha c++]$ scri
[jburski@natasha c++]$ scri
[jburski@natasha c++]$ scrip
[jburski@natasha c++]$ scrip
[jburski@natasha c++]$ script
[jburski@natasha c++]$ script
[jburski@natasha c++]$ scrip
[jburski@natasha c++]$ scrip
[jburski@natasha c++]$ scri
[jburski@natasha c++]$ scri
[jburski@natasha c++]$ scr
[jburski@natasha c++]$ scr
[jburski@natasha c++]$ sc
[jburski@natasha c++]$ sc
[jburski@natasha c++]$ s
[jburski@natasha c++]$ s
[jburski@natasha c++]$ 
[jburski@natasha c++]$ 
[jburski@natasha c++]$ 
[jburski@natasha c++]$ m
[jburski@natasha c++]$ m
[jburski@natasha c++]$ ma
[jburski@natasha c++]$ ma
[jburski@natasha c++]$ mak
[jburski@natasha c++]$ mak
[jburski@natasha c++]$ make
[jburski@natasha c++]$ make
[jburski@natasha c++]$ make 
[jburski@natasha c++]$ make 
[jburski@natasha c++]$ make -
[jburski@natasha c++]$ make -
[jburski@natasha c++]$ make -f
[jburski@natasha c++]$ make -f
[jburski@natasha c++]$ make -f 
[jburski@natasha c++]$ make -f 
[jburski@natasha c++]$ make -f M
[jburski@natasha c++]$ make -f M
[jburski@natasha c++]$ make -f Ma
[jburski@natasha c++]$ make -f Ma
[jburski@natasha c++]$ make -f Mak
[jburski@natasha c++]$ make -f Mak
[jburski@natasha c++]$ make -f Make
[jburski@natasha c++]$ make -f Make
[jburski@natasha c++]$ make -f Makef
[jburski@natasha c++]$ make -f Makef
[jburski@natasha c++]$ make -f Makefi
[jburski@natasha c++]$ make -f Makefi
[jburski@natasha c++]$ make -f Makefil
[jburski@natasha c++]$ make -f Makefil
[jburski@natasha c++]$ make -f Makefile
[jburski@natasha c++]$ make -f Makefile
[jburski@natasha c++]$ make -f Makefile3
[jburski@natasha c++]$ make -f Makefile3
g++ -c -I/usr/include/g++-3 hello0.cpp
g++ -o hello0 hello0.o -lstdc++ -lgcc
hello0.o: In function `main':
hello0.o(.text+0x19): undefined reference to `cout'
hello0.o(.text+0x1e): undefined reference to `ostream::operator<<(char const*)'
collect2: ld returned 1 exit status
make: *** [hello0] Error 1
]0;jburski@natasha:~/toolkit/postgresql/c++

[jburski@natasha c++]$ 
[jburski@natasha c++]$ exit

Script done on Thu Dec 26 09:20:33 2002
Script started on Thu Dec 26 09:21:30 2002
]0;jburski@natasha:~/toolkit/postgresql/c++

[jburski@natasha c++]$ 
[jburski@natasha c++]$ 
[jburski@natasha c++]$ m
[jburski@natasha c++]$ m
[jburski@natasha c++]$ ma
[jburski@natasha c++]$ ma
[jburski@natasha c++]$ mak
[jburski@natasha c++]$ mak
[jburski@natasha c++]$ make
[jburski@natasha c++]$ make
[jburski@natasha c++]$ make 
[jburski@natasha c++]$ make 
[jburski@natasha c++]$ make -
[jburski@natasha c++]$ make -
[jburski@natasha c++]$ make -f
[jburski@natasha c++]$ make -f
[jburski@natasha c++]$ make -f 
[jburski@natasha c++]$ make -f 
[jburski@natasha c++]$ make -f M
[jburski@natasha c++]$ make -f M
[jburski@natasha c++]$ make -f Ma
[jburski@natasha c++]$ make -f Ma
[jburski@natasha c++]$ make -f Mak
[jburski@natasha c++]$ make -f Mak
[jburski@natasha c++]$ make -f Make
[jburski@natasha c++]$ make -f Make
[jburski@natasha c++]$ make -f Makef
[jburski@natasha c++]$ make -f Makef
[jburski@natasha c++]$ make -f Makefi
[jburski@natasha c++]$ make -f Makefi
[jburski@natasha c++]$ make -f Makefil
[jburski@natasha c++]$ make -f Makefil
[jburski@natasha c++]$ make -f Makefile
[jburski@natasha c++]$ make -f Makefile
[jburski@natasha c++]$ make -f Makefile4
[jburski@natasha c++]$ make -f Makefile4
g++ -c -I/usr/include/g++-3 hello1.cpp
hello1.cpp:4: `cout' not declared
make: *** [hello1.o] Error 1
]0;jburski@natasha:~/toolkit/postgresql/c++

[jburski@natasha c++]$ 
[jburski@natasha c++]$ exit

Script done on Thu Dec 26 09:22:07 2002
Script started on Thu Dec 26 09:23:26 2002
]0;jburski@natasha:~/toolkit/postgresql/c++

[jburski@natasha c++]$ 
[jburski@natasha c++]$ 
[jburski@natasha c++]$ m
[jburski@natasha c++]$ m
[jburski@natasha c++]$ ma
[jburski@natasha c++]$ ma
[jburski@natasha c++]$ mak
[jburski@natasha c++]$ mak
[jburski@natasha c++]$ make
[jburski@natasha c++]$ make
[jburski@natasha c++]$ make 
[jburski@natasha c++]$ make 
[jburski@natasha c++]$ make -
[jburski@natasha c++]$ make -
[jburski@natasha c++]$ make -f
[jburski@natasha c++]$ make -f
[jburski@natasha c++]$ make -f 
[jburski@natasha c++]$ make -f 
[jburski@natasha c++]$ make -f M
[jburski@natasha c++]$ make -f M
[jburski@natasha c++]$ make -f Ma
[jburski@natasha c++]$ make -f Ma
[jburski@natasha c++]$ make -f Mak
[jburski@natasha c++]$ make -f Mak
[jburski@natasha c++]$ make -f Make
[jburski@natasha c++]$ make -f Make
[jburski@natasha c++]$ make -f Makef
[jburski@natasha c++]$ make -f Makef
[jburski@natasha c++]$ make -f Makefi
[jburski@natasha c++]$ make -f Makefi
[jburski@natasha c++]$ make -f Makefil
[jburski@natasha c++]$ make -f Makefil
[jburski@natasha c++]$ make -f Makefile
[jburski@natasha c++]$ make -f Makefile
[jburski@natasha c++]$ make -f Makefile5
[jburski@natasha c++]$ make -f Makefile5
g++ -c -I/usr/include/g++-3 hello1.cpp
hello1.cpp:4: `cout' not declared
make: *** [hello1.o] Error 1
]0;jburski@natasha:~/toolkit/postgresql/c++

[jburski@natasha c++]$ 
[jburski@natasha c++]$ exit

Script done on Thu Dec 26 09:23:55 2002
Script started on Thu Dec 26 09:24:37 2002
]0;jburski@natasha:~/toolkit/postgresql/c++

[jburski@natasha c++]$ 
[jburski@natasha c++]$ 
[jburski@natasha c++]$ m
[jburski@natasha c++]$ m
[jburski@natasha c++]$ ma
[jburski@natasha c++]$ ma
[jburski@natasha c++]$ mak
[jburski@natasha c++]$ mak
[jburski@natasha c++]$ make
[jburski@natasha c++]$ make
[jburski@natasha c++]$ make 
[jburski@natasha c++]$ make 
[jburski@natasha c++]$ make -
[jburski@natasha c++]$ make -
[jburski@natasha c++]$ make -f
[jburski@natasha c++]$ make -f
[jburski@natasha c++]$ make -f 
[jburski@natasha c++]$ make -f 
[jburski@natasha c++]$ make -f M
[jburski@natasha c++]$ make -f M
[jburski@natasha c++]$ make -f Ma
[jburski@natasha c++]$ make -f Ma
[jburski@natasha c++]$ make -f Mak
[jburski@natasha c++]$ make -f Mak
[jburski@natasha c++]$ make -f Make
[jburski@natasha c++]$ make -f Make
[jburski@natasha c++]$ make -f Makef
[jburski@natasha c++]$ make -f Makef
[jburski@natasha c++]$ make -f Makefi
[jburski@natasha c++]$ make -f Makefi
[jburski@natasha c++]$ make -f Makefil
[jburski@natasha c++]$ make -f Makefil
[jburski@natasha c++]$ make -f Makefile
[jburski@natasha c++]$ make -f Makefile
[jburski@natasha c++]$ make -f Makefile6
[jburski@natasha c++]$ make -f Makefile6
g++ -c -I/usr/include/g++-3 hello1.cpp
hello1.cpp:4: `cout' not declared
make: *** [hello1.o] Error 1
]0;jburski@natasha:~/toolkit/postgresql/c++

[jburski@natasha c++]$ 
[jburski@natasha c++]$ exit

Script done on Thu Dec 26 09:24:46 2002
// File: hello.cpp

#include <iostream>

int main() 
{
   std::cout << "Hello, World\n";
}
INCLUDE = /usr/include/g++-3
LIBES = -lstdc++ -lgcc

hello2: hello2.o
	g++ -o hello2 hello2.o $(LIBES)

hello2.o: hello2.cpp
	g++ -c -I$(INCLUDE) hello2.cpp
Script started on Thu Dec 26 09:45:30 2002
]0;jburski@natasha:~/toolkit/postgresql/c++

[jburski@natasha c++]$ 
[jburski@natasha c++]$ 
[jburski@natasha c++]$ m
[jburski@natasha c++]$ m
[jburski@natasha c++]$ ma
[jburski@natasha c++]$ ma
[jburski@natasha c++]$ mak
[jburski@natasha c++]$ mak
[jburski@natasha c++]$ make
[jburski@natasha c++]$ make
[jburski@natasha c++]$ make 
[jburski@natasha c++]$ make 
[jburski@natasha c++]$ make -
[jburski@natasha c++]$ make -
[jburski@natasha c++]$ make -f
[jburski@natasha c++]$ make -f
[jburski@natasha c++]$ make -f 
[jburski@natasha c++]$ make -f 
[jburski@natasha c++]$ make -f M
[jburski@natasha c++]$ make -f M
[jburski@natasha c++]$ make -f Ma
[jburski@natasha c++]$ make -f Ma
[jburski@natasha c++]$ make -f Mak
[jburski@natasha c++]$ make -f Mak
[jburski@natasha c++]$ make -f Make
[jburski@natasha c++]$ make -f Make
[jburski@natasha c++]$ make -f Makef
[jburski@natasha c++]$ make -f Makef
[jburski@natasha c++]$ make -f Makefi
[jburski@natasha c++]$ make -f Makefi
[jburski@natasha c++]$ make -f Makefil
[jburski@natasha c++]$ make -f Makefil
[jburski@natasha c++]$ make -f Makefile
[jburski@natasha c++]$ make -f Makefile
[jburski@natasha c++]$ make -f Makefile7
[jburski@natasha c++]$ make -f Makefile7
g++ -c -I/usr/include/g++-3 hello2.cpp
hello2.cpp: In function `int main()':
hello2.cpp:7: `cout' undeclared in namespace `std'
make: *** [hello2.o] Error 1
]0;jburski@natasha:~/toolkit/postgresql/c++

[jburski@natasha c++]$ 
[jburski@natasha c++]$ exit

Script done on Thu Dec 26 09:45:40 2002

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]