Pace
Pace

Reputation: 51

C++ output not showing in PHP

i have a small problem, i have a c++ program, but PHP is not showing output, only "blank". I made a small program to test, when I use "printf" and "gcc" to compile, it works fine, but when I compile the same progran using "g++" it fails to show the content in the php page. Any ideas? I can't use "gcc" because my project is in c++

I'm using this version of gcc/g++

g++ (GCC) 4.5.1 20100924 (Red Hat 4.5.1-4)

EDIT: I simplified the problem so you can understand what is going on here, thanks for your help. Now i get a missing library error.

I compiled the files using the followings commands:

gcc -o prueba1 prueba.c
g++ -o prueba2 prueba.cpp

So "prueba1" is the one compiled with GCC and "prueba2" is the one compiled with G++

Here is the file test.php

<?php
      echo "Executing file compiled with GCC <br />"; 
      echo shell_exec("./prueba1");
      echo "<br />";
      echo "Executing file compiled with G++ <br />";
      echo shell_exec("./prueba2 2>&1");
?>

I get this on the browser:

Executing file compiled with GCC
Hello World (GCC) 
Executing file compiled with G++
./prueba2: /opt/lampp/lib/libgcc_s.so.1: version `GCC_4.2.0' not found (required by /usr/lib/libstdc++.so.6)

Here is the prueba.c file:

#include <stdio.h>

int main(int argc, char *argsv[]){

printf("Hello World (GCC)\n");

return(0);

}

Here is the prueba.cpp file:

#include <iostream>

using namespace std;

int main(int argc, char *argsv[]){

cout << "Hello World (G++)" << endl;

return(0);

}

Upvotes: 3

Views: 548

Answers (1)

Pace
Pace

Reputation: 51

Rename the /opt/lampp/lib/libgcc_s.so.1 to /opt/lampp/lib/libgcc_s.so.1.backup, it seems C++ was trying to access this one instead the one that linux does when running from command line, thanks for the help guys

Upvotes: 2

Related Questions