У меня небольшая проблема, у меня есть программа на С ++, но PHP не показывает вывод, только "пусто". Я сделал небольшую программу для тестирования, когда я использую «printf» и «gcc» для компиляции, она работает нормально, но когда я компилирую тот же progran, используя «g ++», он не показывает содержимое страницы php. Есть идеи? Я не могу использовать "gcc", потому что мой проект на C ++
Я использую эту версию gcc / g ++
g ++ (GCC) 4.5.1 20100924 (Red Hat 4.5.1-4)
РЕДАКТИРОВАТЬ: Я упростил проблему, чтобы вы могли понять, что здесь происходит, спасибо за вашу помощь. Теперь я получаю недостающую библиотечную ошибку.
Я скомпилировал файлы, используя следующие команды:
gcc -o prueba1 prueba.c
g++ -o prueba2 prueba.cpp
Таким образом, "prueba1" - это скомпилированный с GCC, а "prueba2" - скомпилированный с G ++
Вот файл 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");
?>
Я получаю это в браузере:
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)
Вот файл prueba.c:
#include <stdio.h>
int main(int argc, char *argsv[]){
printf("Hello World (GCC)\n");
return(0);
}
Вот файл prueba.cpp:
#include <iostream>
using namespace std;
int main(int argc, char *argsv[]){
cout << "Hello World (G++)" << endl;
return(0);
}