0

この単純なプログラムをコンパイルできません

#include<stdio.h>
#include<conio.h>
#include<spawn.h>
#include<process.h>

int main(){
    printf("Spawning new process...\n");
    spawnl(P_WAIT,"curl","www.google.co.in",NULL);
    system("cls");
    printf("Program execution completed somehow!\n");
    getch();
    return 0;
}

次のコマンドを使用してみました:

g++ filename.cpp -l -o filename.cpp

結果:ld.exe cannot find -l exit with status 1

g++ filename.cpp -o filename

結果:error: spawn.h No such file or directory.

MinGW のインストールに問題はありますか? Windows 7 32 ビットと MinGW を使用しています。

4

1 に答える 1

3

spawn.h標準の C/C++ ヘッダーではありません。POSIX は非標準の<spawn.h>ヘッダーを定義していますが、spawnl関数を定義していません。とにかく、Windows は POSIX 準拠のシステムではありません。

Windows では で_spawnl関数が定義され<process.h>ているため、最も簡単な方法は、 のインクルードを削除して<spawn.h>、代わりにそれを使用することです。Windows 関数を使用するようにコードを書き直すこともできますCreateProcess

于 2012-08-21T21:46:26.800 に答える