Erro com fundação.h
-
21-09-2019 - |
Pergunta
Aprendendo o Objetivo-C no Linux (Ubuntu), mas quando tentei compilar meu aplicativo que precisa dos cabeçalhos da fundação, recebi um erro dizendo que o arquivo não pode ser encontrado, mas instalei o pacote de desenvolvimento GNUSTEP (GNUSTEP-DEVEL). Aqui está o meu código:
// Fraction.h
#import <Foundation/NSObject.h>
@interface Fraction: NSObject {
int numerator;
int denominator;
}
- (void) print;
- (void) setNumerator: (int) n;
- (void) setDenominator: (int) d;
- (void) numerator;
- (void) denominator;
@end
E aqui está o log do console:
ubuntu@eeepc:~$ gcc main.m -o frac -lobjc
In file included from main.m:3:
Fraction.h:2:26: error: objc/NSObject.h: No such file or directory
In file included from main.m:3:
Fraction.h:4: error: cannot find interface declaration for ‘NSObject’, superclass of ‘Fraction’
ubuntu@eeepc:~$
O que eu preciso fazer?
Solução
Processo de instalação GNUSTEP para Windows
- Visite o URL: http://ftpmain.gnustep.org/pub/gnustep/binaries/windows/
- Faça o download do arquivo exe gnustep-system-0.19.2-setup.exe
- Em seguida, faça o download do gnustep-core-0.19.2-setup.exe
Lembre-se de uma coisa se você estiver baixando o sistema GNUSTEP de qualquer versão, deve fazer o download da mesma versão para Gnustep-Core. Por exemplo, se você baixou o gnustep-setup-0.22.1-setup.exe, deve fazer o download do Gustep-core-0.22.1-setup.exe, caso contrário, seu código não será executado.
- Instale primeiro o GNUSTEP-SYSTEM-0.19.2-SETUP.EXE e instale o gnustep-core-0.19.2Setup.exe. Não tente instalar no pedido vice -versa.
- Agora você tem o Gnustep para o Windows e depois vá para começar> All Program> Gnustep> Shell
- Agora abra o editor do bloco de notas e escreva o seguinte código no bloco de notas
#import int main (int argc, const char * argv[]) { NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; NSLog (@"Anil Kumar Yadav has Run the First Objective C program!"); [pool drain]; return 0; }
Salve -o como olá.m em seu nome C:/gnustep/home/Foldername lembre pasta. Então não seja pânico.
- Vá para o seu shell e digite o seguinte comando gcc -o hello.m -i/gnustep/system/biblioteca/cabeçalhos -l/gnustep/system/biblioteca/bibliotecas -lobjc -lgnustep -bashe -constant -string -class = nsconstantString
- Este comando criará um arquivo hello.exe na sua pasta Foldername.
- Novamente no shell digite o comando ./hello.exe
Finalmente, você poderá ver a saída no shell.
CONGRATULAÇÃO Você escreveu seu primeiro programa C Programa com sucesso. Precisa de qualquer esclarecimento, escreva -me para: ayadav00009@gmail.com
Outras dicas
Como você está compilando isso? Para mim, eu crio um GNUMakefile
makefile para o meu aplicativo (veja aqui), e então eu corro source /usr/share/GNUstep/Makefiles/GNUstep.sh
e depois make
.
Eu procurei no repositório e, em seguida, instalei a LIB da fundação, agora tudo está funcionando.
Obrigado.