سؤال

يرجى إلقاء نظرة على هذا الرمز:

#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، لكنه فشل في سولاريس, ، حيث يشكو: make: *** fopen (temporary file): No such file or directory. Stop..

كيف يمكنني حل هذه المشكلة؟

هل كانت مفيدة؟

المحلول

محاولة لتشغيل make -f - يدويا؛ ربما لا يعمل على سولاريس. يحاول gmake (لجعل جنو) بدلا من ذلك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top