2012-03-22 7 views
1

Я даже не могу получить простую тестовую программу, работающую с CGI. Вот мой код. Она работает, когда я запускаю его в консоли, но выдает ошибку, когда я пытаюсь запустить из Apache:Преждевременный конец заголовков скриптов: CGI + C++

#include <iostream> 
#include <stdio.h> 
#include <stdlib.h> 

int main() { 
    printf("Content-type: text/html\n\n"); 
    printf("TEST"); 
    return 0; 
} 

Makefile:

build: source/main.cpp 
    C:/MinGW/bin/g++.exe -o build/e2.exe source/main.cpp 

Ошибка:

[Thu Mar 22 19:14:23 2012] [error] [client 127.0.0.1] Premature end of script headers: e2.exe 

Выполнить в команде приглашение:

C:\Users\Stephen>C:\wamp\www\e2.exe 
Content-type: text/html 

TEST 

Любая помощь будет будем очень благодарны! Благодаря!

Решено: Makefile:

build: source/main.cpp 
    C:/MinGW/bin/gcc.exe -o build/e2.exe source/main.cpp 
+4

HTTP строки окончаний '\ г \ n'. –

+0

@KerrekSB: Я хотел бы знать разницу. Любое дальнейшее чтение? – Straseus

+0

Не далее, чем конец строки :-) Но серьезно, это только часть спецификации протокола. Вы можете прочитать RFC, если решитесь. –

ответ

1

Решено: Makefile:

build: source/main.cpp 
    C:/MinGW/bin/gcc.exe -o build/e2.exe source/main.cpp 

GCC не G ++

Смежные вопросы