请对这个码一看:

#include <unistd.h>
#include <stdlib.h>    
#include <stdio.h>
int main() {
    FILE *process_fp = popen("make -f -", "w");
    if (process_fp == NULL) {
        printf("[ERR] make not found!\n");
    } else {
        char txt[1024] = "all:\n\t@echo Hello World!\n";
        fwrite(txt, sizeof(char), strlen(txt), process_fp);
        pclose(process_fp);
    }
}

此程序将打印的 “Hello World!”。它的工作原理在Linux平台上,但未能在的Solaris ,在那里抱怨: make: *** fopen (temporary file): No such file or directory. Stop.

我该如何解决这个问题呢?

有帮助吗?

解决方案

尝试手动运行make -f -;它可能不会在Solaris上运行。尝试gmake(用于GNU补充)来代替。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top