2010-03-08 30 views
8

Tôi có thư viện x86_64 trên Mac do GCC biên soạn và tôi muốn liên kết nó với mã Pascal được biên dịch bằng Free Pascal 2.4. Tôi cung cấp những tùy chọn nào cho fpc để làm cho nó tạo mã 64 bit? Không có bất kỳ tùy chọn nào, tôi chỉ nhận được các tệp .o 32 bit.Tôi có thể biên dịch chương trình Mac 64 bit bằng Pascal miễn phí bằng cách nào?

Tôi đang sử dụng tải FPC-2.4.0.intel-macosx.dmg từ SourceForge, nhưng khi tôi chạy fpc -i, các chỉ mục tiêu nền tảng Macintosh nó sẽ liệt kê là "Darwin cho i386", mặc dù việc phát hành 2,4 ghi chú nói rằng nó có thể nhắm mục tiêu "64-bit Mac OS X (x86_64/ppc64)."

Trả lời

10

According to Jonas Maebe trên fpc-pascal mailing list, có hai lựa chọn:

  • Run fpc với các tùy chọn -Px86_64. (Tùy chọn -P dường như chưa được ghi lại.)
  • Chạy trực tiếp ppcx64 thay vì fpc. (Nếu không có bất kỳ tùy chọn nào, fpc sẽ chạy ppc386 thay thế.)

Cả hai đều làm việc cho tôi.

+0

Câu trả lời tự trả lời thú vị! –

+0

Một chút trễ, nhưng: -P được ghi lại trong http://www.stack.nl/~marcov/buildfaq.pdf buildfaq lưu ý rằng đây là thông số "fpc", không phải tham số "ppc " –

+0

Có một số điều chống lại tài liệu đó, @Marco. Một, theo Google, chỉ có hai trang trên thế giới liên kết với nó; bình luận của bạn làm cho 3. Hai, nó được lưu trữ trên trang web cá nhân của bạn chứ không phải là freepascal.org. Ba, đó là một tệp PDF thay vì HTML thân thiện với web. Bốn, mặc dù tên của nó, nó không thực sự trong định dạng FAQ. Năm, bất cứ ai không biên soạn bản thân FPC (như tôi) sẽ chẳng có lý do gì để đọc nó cả. Và sáu, nó * đề cập đến * '-P', nhưng không * tài liệu * nó. Để thực sự được ghi lại, 'fpc -h' và §5.1 của hướng dẫn sử dụng (đặc biệt là §5.1.4) cần phải nói rằng' -P' tồn tại và nó làm gì. –

0

Sử dụng -m64.

Thực tế, GNU Pascal documentation thậm chí không nói rằng nó được hỗ trợ trên Mac OS X. FreePascal, mặt khác, hoạt động trên tất cả các biến thể Mac OS X (Intel và PPC, 32 và 64 bit).

+1

Mặc dù 'fpc' không nói rằng nó không nhận ra tùy chọn đó (mặc dù nó không có giấy tờ), nó cũng không ảnh hưởng đến đầu ra. Các tệp .o mà nó tạo ra vẫn là các tệp 32 bit. Bằng cách nào đó tôi đã cho bạn ấn tượng rằng tôi đang tìm kiếm một lựa chọn để cung cấp cho GCC? Tôi không. Tôi đã có mã đối tượng 64 bit từ GCC. Tôi đang cố gắng để liên kết nó với mã được biên dịch bởi Free Pascal, nhưng để làm điều đó, tôi cần Free Pascal để tạo ra các tập tin đối tượng 64-bit. GNU Pascal thậm chí không nhập hình ảnh, vì vậy cho dù nó được hỗ trợ trên Macintosh là không thích hợp. –

Các vấn đề liên quan