2010-07-31 2 views
0

Je suis en train d'exécuter la commande suivante dans RIR,noyau Ruby commandes

 
exec 'gcc j.cpp' 

mais, je suis l'erreur suivante:

 
/tmp/ccYhafBj.o: In function `main': 
j.cpp:(.text+0x14): undefined reference to `std::cout' 
j.cpp:(.text+0x19): undefined reference to `std::basic_ostream >& std::operator >(std::basic_ostream >&, char const*)' 
/tmp/ccYhafBj.o: In function `__static_initialization_and_destruction_0(int, int)': 
j.cpp:(.text+0x41): undefined reference to `std::ios_base::Init::Init()' 
j.cpp:(.text+0x46): undefined reference to `std::ios_base::Init::~Init()' 
/tmp/ccYhafBj.o:(.eh_frame+0x12): undefined reference to `__gxx_personality_v0' 
collect2: ld returned 1 exit status 

Mon fichier est dans le même répertoire où j'ai ouvert la irb --simple-invite pour exécuter le fichier. Le contenu de mon dossier sont:

#include <iostream> 
using namespace std; 
int main() 
{ cout << "Hello World"; 
    return 0; 
} 

que quelqu'un peut me dire où je me trompe, et un moyen de résoudre le problème. Tout ce que je veux, c'est exécuter le fichier j.cpp et obtenir les erreurs de sortie qui surviennent dans le processus.

Répondre

2

Utilisez le compilateur C++, pas le compilateur C.

exec 'g++ j.cpp' 

exec remplacera le processus actuel, de sorte que vous pouvez utiliser à la place des apostrophes inverses. Le fichier de sortie est spécifiquement nommé comme "prog" juste pour être plus clair sur ce que nous sommes en train d'exécuter.

+0

- Merci. Si bête de moi. Maintenant que cela est résolu, pouvez-vous m'aider à obtenir la sortie/erreurs rencontrées dans la compilation et le processus. –