Makefiler i Project Builder!

Tråden skapades och har fått 7 svar. Det senaste inlägget skrevs .
1

Tjena!

Jag sitter och försöker koda i ett ljud-API (fMod) som är portat till carbon. Själv har jag bara programmerat Cocoa för Mac OS X så jag har försökt mig på att skriva en ObjC-wrapper för API:et.

I Makefilen till API:et finner jag följande rad med text:

gcc -g -O3 -o simplest main.c ../../api/lib/libfmod.a -framework Carbon

Hur lägger jag till flaggorna -g och -O3 till kompilatorn i Project Builer?

/Jont Olof

  • Medlem
  • 2003-10-12 15:09

Targets ( i sidebaren ) -> Build Styles -> Development -> OPTIMIZATION_CFLAGS

Tack!

Det hela förvirrar mig lite. Jag har bara en fil i exemplet, main.c. Denna fil inkluderar headerfilerna "fmod.h", "fmod_errors.h" samt en header för att få tillgång till windowsfunktionerna i conio.h (typ kbhit(), en funktion som används flitigt i exemplen. Alla dessa filer har jag tillgång till i mitt nyskapade projekt i PB. Dessutom så använde de ovan nämnda Makefil (förutom raden som nämns ovan innehåller Makefilen en rad som rensar tidigare byggen).

Jag har adderat filen libfmod.a i projectet. Jag har adderat Carbon som framework (även om jag inte lyckats hitta något Carbonspecifikt kommande) och importerat mainfilen main.c från exemplprojektet.

Fel uppkommer ändå. Jag har fått flera olika fel, men nu senast fick jag detta ytterst irriterande felmeddelande:

Building target “FModWrapper” with build style “Development” (optimization:level ‘-g -O0’, debug-symbols:on) — (1 error)
/usr/bin/g++3 -c -F/Users/jontolof/Documents/Programmering/fMod/samples/FModWrapper/build -I/Users/jontolof/Documents/Programmering/fMod/samples/FModWrapper/build/include -arch ppc -fno-common -fpascal-strings -g -O0 -Wmost -Wno-four-char-constants -Wno-unknown-pragmas -pipe "-fmessage-length=0" -mdynamic-no-pic -g -precomp-trustfile /Users/jontolof/Documents/Programmering/fMod/samples/FModWrapper/build/FModWrapper.build/FModWrapper.build/TrustedPrecomps.txt -Wp,-header-mapfile,/Users/jontolof/Documents/Programmering/fMod/samples/FModWrapper/build/FModWrapper.build/FModWrapper.build/FModWrapper.hmap main.cpp -o /Users/jontolof/Documents/Programmering/fMod/samples/FModWrapper/build/FModWrapper.build/FModWrapper.build/Objects-normal/ppc/main.o
In file included from main.cpp:13:
../../api/inc/wincompat.h: In function `int kbhit()':
../../api/inc/wincompat.h:52: `bzero' undeclared (first use this function)
../../api/inc/wincompat.h:52: (Each undeclared identifier is reported only once for each function it appears in.)
In file included from main.cpp:13:
../../api/inc/wincompat.h:52: `bzero' undeclared (first use this function)
../../api/inc/wincompat.h:52: (Each undeclared identifier is reported only once for each function it appears in.)

Det här ser kanske mest ut som rappakalja, men det fel som här refereras till fås inte om jag kompilerar koden i terminalen.

Vad har jag missat att göra? Känns lite deppigt när jag får det att funka i terminalen men inte i PB...

/Jont Olof

öhh, det ser inte ut som om du kör make-filen.

Project->New Target...
välj Legacy Makefile och nåt namn.

välj sen denna target.

(sorry för kort & kärvt, bebis på axeln;-)

Citat:

Skrevs ursprungligen av Per Persson
öhh, det ser inte ut som om du kör make-filen.

Project->New Target...
välj Legacy Makefile och nåt namn.

välj sen denna target.

(sorry för kort & kärvt, bebis på axeln;-)

Verkar bra... Men jag är inte så insatt att jag hänger med riktigt hur du menar att jag ska göra?

Jag har alltså en Makefile vars instruktioner jag försökt kopiera, med detta funkar inte... Vad göra?

Genom att välja "legacy makefile" kommer PB vanliga build-system att sättas ur spel och istället säger PB bara "make" och sen utförs instruktionerna i makefilen. Du behöver inte trixa alls.

Kolla här:
http://developer.apple.com/documentation/Porting/Conceptual/PortingUnix/compiling/chapter_4_section_2.html#//apple_ref/doc/uid/DontLinkBookID_82-CH206-BBCJABGC
finns på din disk oxå.

Glömde att tipsa om ConvertMake, som automagiskt gör om makefiler till PB-projekt:
http://homepage.mac.com/walisser/convertmake/

/Per

Tack för hjälpen Per! Faktum är att jag fått det att fungera nu. Lite osäker på vad jag gjorde men problemet är löst!

Live long and prosper!

/Jont Olof

1
Bevaka tråden