Ho scritto un programma in c++ per mostrare il classico hello world
Sto lavorando su linux ed uso g++ per compilare.
Ho bisogno di linkare questo file separatamente. Quindi uso -c nelle opzioni del compilatore:
e mi ritrovo helloworld.ocodice:gcc helloworld.cpp -c
Ora per linkare eseguo
Come prevedibile mi ritrovo:codice:ld helloworld.o helloworld2.o helloworld3.o
Se fosse stato in C, avrei linkato concodice:ld: warning: cannot find entry symbol _start; defaulting to 00000000080481ac helloworld.o: In function `__static_initialization_and_destruction_0(int, int)': helloworld.cpp:(.text+0x23): undefined reference to `std::ios_base::Init::Init()' helloworld.cpp:(.text+0x2b): undefined reference to `__dso_handle' helloworld.o: In function `__tcf_0': helloworld.cpp:(.text+0x6c): undefined reference to `std::ios_base::Init::~Init()' helloworld.o: In function `main': helloworld.cpp:(.text+0x8e): undefined reference to `std::cout' helloworld.cpp:(.text+0x93): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)' main.o:(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
-lc sta ad indicare includi libc.codice:ld helloworld.o helloworld2.o helloworld3.o -lc
Nel caso del c++, che libreria devo includere?

					
					
					
						
  Rispondi quotando