objektiv c - Kan ikke udføre program udarbejdet med GNUstep

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg kører Windows 10 med GNUstep. Jeg har forsøgt at kompilere min AI.m-fil i en .exe, så jeg kunne give den til min ven, men når jeg kompilerer det, får jeg en fejl med .exe-filen selv. Jeg har samlet det både gennem Windows kommandoprompt samt GNU Shell prompt. Uanset hvad jeg kompilerer programmet, lykkes det at lave filen, men når jeg forsøger at køre den, vil den starte fejl. De fejl, det giver mig, er:



  Procedurens indtastningspunkt \_gxx\_personality\_v0 kunne ikke findes i biblioteket for dynamisk link C: \ GNUstep \ bin \ libicui18n46.dll

  
  Procedurens indtastningspunkt \_gxx\_personality\_v0 kunne ikke findes i biblioteket for dynamisk link C: \ GNUstep \ bin \ libicuuc46.dll



Men hvis jeg kompilerer programmet via GNU-skalen med en make-fil, så kør programmet gennem/obj/AI.exe, mens det stadig er i GNU-skalen, så lægges det fint.


Jeg troede måske også, at det var min computer, der havde et problem, så jeg lagde .exe på et flashdrev og flyttede det til min bærbare computer. Da jeg forsøgte at køre programmet på min bærbare computer, gav det fejlen:



  Programmet kan ikke starte, fordi gnustep-base-1\_24.dll mangler fra din computer. Prøv at geninstallere programmet for at løse dette problem.



Så hvad får det til kun at fungere efter at være blevet gjort via make-filen, og kun via skallen efter make-filen? Enhver måde at rette disse fejl på, så jeg kan køre filen?


Her er koden i AI.m-filen:


#include "stdio.h"
#include "stdlib.h"
#include "Foundation/Foundation.h"

int main(void) {

    NSAutoreleasePool *myPool = [**NSAutoreleasePool alloc] init];

    char * rawinput = malloc(sizeof(char));

    system("cls");
    fflush(stdout);

    printf("Hello, my name is (Not Yet Available), and I am an in progress AI.");
    //printf("
Currently, I have no features, but will be working soon.");
    //printf("
I can't wait until I am better able to assist you.");
    fflush(stdout);

    printf("
Currently I can only get the date and time for you of your current location.");
    printf("
Would like me to get one of them for you?");
    printf("
");
    fflush(stdout);

    scanf( "\%s" , rawinput );

    NSString *input = [NSString stringWithCString:rawinput encoding:1];

    if ([input caseInsensitiveCompare:@"yes"]==NSOrderedSame) {
        printf("Great! Let me pull it for you right now.");
        fflush(stdout);
        //TODO: Pull the weather
    } else if([input caseInsensitiveCompare:@"no"]==NSOrderedSame) {
        printf("I understand.  I hope I was of service to you.");
        fflush(stdout);
    } else {
        printf("Sorry, I can only understand if you say 'yes' or 'no' right now.");
        printf("
If you want to try again, please restart the program.");
        fflush(stdout);
    }

    [myPool drain];
    return EXIT\_SUCCESS;
}


EDIT: Så jeg gik ind i mine miljøvariabler for min computer og flyttede dem vedrørende GNUstep til toppen af ​​listen, før alt andet, og nu vil programmet åbne fint. Så der var der et problem, som .dll skulle bruge fra hvor. Men hvordan får jeg det til at køre på en anden computer, der ikke har GNUstep installeret på den?

Bedste reference