代码之家  ›  专栏  ›  技术社区  ›  solotim

Solaris对Popen有问题吗?

  •  0
  • solotim  · 技术社区  · 15 年前

    请查看此代码:

    #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);
        }
    }
    

    这个程序将打印“你好,世界!”。它在Linux平台上工作,但在 Solaris ,如果投诉: make: *** fopen (temporary file): No such file or directory. Stop. .

    我怎样才能解决这个问题?

    1 回复  |  直到 15 年前
        1
  •  3
  •   Aaron Digulla    15 年前

    试着跑 make -f - 手动;它可能在Solaris上不起作用。尝试 gmake (用于GNU制造)而不是。