2010-03-08 3 views
8

Ich habe eine x86_64-Bibliothek auf meinem Mac von GCC kompiliert, und ich möchte es mit Pascal-Code mit Free Pascal 2.4 kompiliert verknüpfen. Welche Optionen gebe ich an fpc, um 64-Bit-Code zu generieren? Ohne Optionen erhalte ich nur 32-Bit-O-Dateien.Wie kann ich 64-Bit-Mac-Programme mit Free Pascal kompilieren?

Ich bin mit den fpc-2.4.0.intel-macosx.dmg Herunterladen von Sourceforge, aber wenn ich fpc -i laufen, die einzigen Ziel Macintosh-Plattform listet es ist „Darwin für i386“, obwohl die 2.4 Release Notizen sagen, es kann "64-Bit-Mac OS X (x86_64/ppc64)" zielen.

Antwort

10

According to Jonas Maebe auf dem fpc-pascal mailing list, gibt es zwei Möglichkeiten:

  • Run fpc mit der -Px86_64 Option. (Die Option -P scheint noch nicht dokumentiert zu sein.)
  • Führen Sie ppcx64 direkt statt fpc. (Ohne Optionen, fpc läuft stattdessen ppc386.)

Beides funktionierte für mich.

+0

Coole Selbstantwort! –

+0

Ein bisschen spät, aber: -P ist in der buildfaq dokumentiert http://www.stack.nl/~marcov/buildfaq.pdf beachten Sie, dass es ein "fpc" -Parameter ist, nicht ein "ppc " Parameter –

+0

Es gibt Einige Dinge gehen gegen das Dokument, @Marco. Einer, nach Google, nur zwei Seiten in der Welt verlinken; Ihr Kommentar macht 3. Zwei, es ist auf Ihrer persönlichen Website statt freepascal.org gehostet. Drittens, es ist ein PDF anstelle von Web-freundlichen HTML. Vier, trotz seines Namens, ist es nicht wirklich im FAQ-Format. Fünf, jeder, der nicht selbst FPC kompiliert, hätte keinen Grund, es überhaupt zu lesen. Und sechs, erwähnt * -P, aber dokumentiert es nicht. Um wirklich dokumentiert zu werden, müssen 'fpc -h' und §5.1 des Benutzerhandbuchs (insbesondere §5.1.4) sagen, dass' -P' existiert und was es tut. –

0

Verwenden Sie -m64.

Eigentlich besagt das GNU Pascal documentation nicht einmal, dass es unter Mac OS X unterstützt wird. FreePascal hingegen arbeitet auf allen Mac OS X-Varianten (Intel und PPC, 32 und 64 Bit).

+1

Obwohl 'fpc' nicht sagt, dass es diese Option nicht erkennt (obwohl es nicht dokumentiert ist), hat es auch keine Auswirkungen auf die Ausgabe. Die O-Dateien, die es generiert, sind weiterhin 32-Bit-Dateien. Habe ich dir irgendwie den Eindruck vermittelt, dass ich nach einer Option suche, GCC zu geben? Ich bin nicht. Ich habe bereits 64-Bit-Objektcode von GCC. Ich versuche, es mit Code zu verbinden, der von Free Pascal kompiliert wird, aber um das zu tun, brauche ich Free Pascal, um 64-Bit-Objektdateien zu generieren. GNU Pascal gibt nicht einmal das Bild, also ob es auf Macintosh unterstützt wird, ist irrelevant. –

Verwandte Themen