Nån som begriper sig på xcode?
10 inlägg
• Sida 1 av 1
Nån som begriper sig på xcode?
Jag har nyligen flyttat över ett projekt från unixmiljö till xcode och får ett felmeddelande som jag inte förstår:
ld: framework not found SDL
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Såvitt jag kan se har jag inte missat något i varken kod eller länkning och "tipsen" jag hittat online har jag inte heller förstått ordentligt.
Jag försöker få mitt enkla brädspel att fungera på mac helt enkelt. Det är 100 % C -kod med sdl stöd för grafiken. Så här kan det exempelvis se ut:
ld: framework not found SDL
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Såvitt jag kan se har jag inte missat något i varken kod eller länkning och "tipsen" jag hittat online har jag inte heller förstått ordentligt.
Jag försöker få mitt enkla brädspel att fungera på mac helt enkelt. Det är 100 % C -kod med sdl stöd för grafiken. Så här kan det exempelvis se ut:
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Nån som begriper sig på xcode?
Du saknar biblioteket för SDL i din länkningsprocess?
- plåtmonster
- Inlägg: 15480
- Anslöt: 2010-03-23
- Ort: Nära havet
Nån som begriper sig på xcode?
Nej, i alla fall inte såvitt jag kan bedöma. SDL står med i "Link Binary With Library" samt är deklarerad som #include i de relevanta filerna. Jag har svårt att se vad jag har missat.
Nån som begriper sig på xcode?
Skriv ett litet testprogram för SDL och testa om SDL är korrekt inkluderat (ld).
- plåtmonster
- Inlägg: 15480
- Anslöt: 2010-03-23
- Ort: Nära havet
Nån som begriper sig på xcode?
Varför då? Programmet fungerar utmärkt i sig. Jag har kompilerat det i andra oprativsystem och får inga felmeddelanden i övrigt. Mitt program borde duga som testprogram i sig. Uppenbarligen är det inte korrekt inkluderat men jag vet ju inte varför och det är problemet. Jag ska följa ditt råd i alla fall och skriva ett litet testprogram. Då kanske det är lättare att felspåra.
Nån som begriper sig på xcode?
Det måste väl finnas nån verbose-flagga att sätta, så att man får se vad den faktiskt kör vid länkningen (och kompilering).
Jag avskyr "integrerade utvecklingsmiljöer", bland annat av den där anledningen.
Jag avskyr "integrerade utvecklingsmiljöer", bland annat av den där anledningen.
Nån som begriper sig på xcode?
Om det är "C" kod som kompileras så sker det i några steg:
Källkoden görs om till komplett kod, dvs alla inkluderingar (*.h), #defines, osv blir faktisk kod.
(kolla här att koden faktiskt uttrycks som du tänkt dig med stickprov på strategiska ställen)
Den fullständiga källkoden kompileras till exekverbar objektfil.
(kontrollera API:er, provlänka och testa)
Objektfilen kopplas ihop med bibliotek av andra objektfiler (libraries).
(kika att de bibliotek finns som krävs och att annat finns i bibliotekssökvägar)
Objekt och biblioteket som nu utgör en större objektfil kopplas ihop med det aktuella exekverbara formatet som t.ex ELF, a.out, static ROM etc.
(kolla vilka objekt, bibliotek, externa referenser och att rätt saker finns i filen)
Några punkter som kan vara värda att kika på:
* Vilka bibliotek anger t.ex "ldd" att den exekverbara filen att den behöver? finns dessa tillgängliga?
* Lista vilka objektfiler som finns i den exekverbara filen.
* Kontrollera loggar som din utvecklingsmiljö har.
* Med tanke på nallens infall, testa att kompilera på kommandoraden.
Källkoden görs om till komplett kod, dvs alla inkluderingar (*.h), #defines, osv blir faktisk kod.
(kolla här att koden faktiskt uttrycks som du tänkt dig med stickprov på strategiska ställen)
Den fullständiga källkoden kompileras till exekverbar objektfil.
(kontrollera API:er, provlänka och testa)
Objektfilen kopplas ihop med bibliotek av andra objektfiler (libraries).
(kika att de bibliotek finns som krävs och att annat finns i bibliotekssökvägar)
Objekt och biblioteket som nu utgör en större objektfil kopplas ihop med det aktuella exekverbara formatet som t.ex ELF, a.out, static ROM etc.
(kolla vilka objekt, bibliotek, externa referenser och att rätt saker finns i filen)
Några punkter som kan vara värda att kika på:
* Vilka bibliotek anger t.ex "ldd" att den exekverbara filen att den behöver? finns dessa tillgängliga?
* Lista vilka objektfiler som finns i den exekverbara filen.
* Kontrollera loggar som din utvecklingsmiljö har.
* Med tanke på nallens infall, testa att kompilera på kommandoraden.
- plåtmonster
- Inlägg: 15480
- Anslöt: 2010-03-23
- Ort: Nära havet
Nån som begriper sig på xcode?
Tack för hjälpen! Jag har lyckats lösa problemet delvis. Antar att man lär sig efterhand.
Nån som begriper sig på xcode?
@Krake, Så vad var problemet?
- plåtmonster
- Inlägg: 15480
- Anslöt: 2010-03-23
- Ort: Nära havet