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 回答