2010-03-08 16 views
8

Tengo una biblioteca x86_64 en mi Mac compilada por GCC, y quiero vincularla con el código de Pascal compilado con Free Pascal 2.4. ¿Qué opciones le doy a fpc para que genere código de 64 bits? Sin ninguna opción, solo recibo archivos .o de 32 bits.¿Cómo puedo compilar programas de Mac de 64 bits con Free Pascal?

estoy usando el FPC-2.4.0.intel-macosx.dmg descarga de SourceForge, pero cuando corro fpc -i, la plataforma Macintosh único objetivo que las listas es "Darwin para i386", aunque la versión 2.4 las notas dicen que puede apuntar a "Mac OS X de 64 bits (x86_64/ppc64)".

Respuesta

10

According to Jonas Maebe en el fpc-pascal mailing list, hay dos opciones:

  • fpc Run con la opción -Px86_64. (La opción -P no parece estar documentada aún).
  • Ejecute ppcx64 directamente en lugar de fpc. (Sin ninguna opción, fpc ejecuta ppc386 en su lugar.)

Ambos funcionaron para mí.

+0

Cool self answer! –

+0

Un poco tarde, pero: -P está documentado en buildfaq http://www.stack.nl/~marcov/buildfaq.pdf Tenga en cuenta que es un parámetro "fpc", no un parámetro "ppc " –

+0

. varias cosas van en contra de ese documento, @Marco. Una, según Google, solo dos páginas en el mundo se vinculan a ella; su comentario hace 3. Dos, está alojado en su sitio personal en lugar de freepascal.org. Tres, es un PDF en lugar de HTML compatible con la Web. Cuatro, a pesar de su nombre, no está realmente en formato de preguntas frecuentes. Cinco, cualquiera que no esté compilando FPC en sí (como yo) no tendría ninguna razón para leerlo en absoluto. Y seis, * menciona * '-P', pero no * lo * documenta. Para estar realmente documentado, 'fpc -h' y §5.1 del manual del usuario (especialmente §5.1.4) necesitan decir que' -P' existe y qué hace. –

0

Use -m64.

En realidad, el GNU Pascal documentation ni siquiera afirmar que es compatible con Mac OS X. FreePascal, por otra parte, funciona en todas las variantes de Mac OS X (Intel y PPC, 32 y 64 bits).

+1

Aunque 'fpc' no dice que no reconoce esa opción (aunque no está documentada), tampoco tiene ningún efecto en la salida. Los archivos .o que genera siguen siendo archivos de 32 bits. ¿De alguna manera le di la impresión de que estaba buscando una opción para donar a GCC? No soy. Ya tengo código de objeto de 64 bits de GCC. Estoy tratando de vincularlo con el código compilado por Free Pascal, pero para hacer eso, necesito Free Pascal para generar archivos de objetos de 64 bits. GNU Pascal ni siquiera entra en la imagen, por lo tanto, si es compatible con Macintosh es irrelevante. –

Cuestiones relacionadas