gcc pitäisi olla riippuvuuksineen asennettuna, mutta kun yrittää käännättää alkeellisen ohjelman:
(ok, siinä on vähän turhaa.)
"
#include
#include
int main ()
{
using namespace std;
// using std::endl;
cout &, char const*)'
/tmp/ccCeXpGM.o: In function `__static_initialization_and_destruction_0(int, int)':
koe.cpp:(.text 0x50): undefined reference to `std::ios_base::Init::Init()'
koe.cpp:(.text 0x55): undefined reference to `std::ios_base::Init::~Init()'
/tmp/ccCeXpGM.o:(.eh_frame 0x11): undefined reference to `__gxx_personality_v0'
collect2: ld:n paluuarvo oli 1
"
Aika outoa.
(ok, siinä on vähän turhaa.)
"
#include
#include
int main ()
{
using namespace std;
// using std::endl;
cout &, char const*)'
/tmp/ccCeXpGM.o: In function `__static_initialization_and_destruction_0(int, int)':
koe.cpp:(.text 0x50): undefined reference to `std::ios_base::Init::Init()'
koe.cpp:(.text 0x55): undefined reference to `std::ios_base::Init::~Init()'
/tmp/ccCeXpGM.o:(.eh_frame 0x11): undefined reference to `__gxx_personality_v0'
collect2: ld:n paluuarvo oli 1
"
Aika outoa.
Vastaukset 5
Vanhimmat
pahus, suurempi kuin ja pienempi kuin merkkien sisällä olevat jäi näkymättä.
iostream ja string oli include lauseissa
suomi24:n pitää tehdä jotain tälle keskustelufoorumien tekniselle ongelmalle.
Jos koodi on C :aa niin eihän se oikein käänny C:llä. ;)
Kääntäminen kyllä onnistuu -c optiolla mutta linkitys ei ellet itse määrittele kirjastoa näin:
gcc -lstdc hello.cpp
Helpompi on kuitenkin tehdä se suoraan g :lla näin:
g hello.cpp
nyt toimii, kiitos. Mutta man-sivut antoi ymmärtää, että cpp pääte laittaisi kääntämään c na.
Eli kun kirjoitin man gcc.
Hähä... en edes osaa C ja löysin vian 5 minuutissa. Vastaus löytyy täältä: http://www.network-theory.co.uk/docs/gccintro/gccintro_54.html . Eli ilmeisesti se yrittää linkata sitä kuin olisi C ohjelma.