Tôi đang viết một trò chơi bằng C++ và OpenGL/SDL, sử dụng Visual Studio làm IDE. Tôi không có máy Mac và thậm chí không quen với nền tảng này. Nhưng tôi vẫn muốn phát hành nó cho người dùng Mac.
Tôi có ba câu hỏi. Tôi có thể viết và biên dịch chương trình Mac trên PC không? Nếu vậy, có bất kỳ cạm bẫy nào có thể xảy ra khi thực hiện việc này không? Cuối cùng, VS2010 có thể biên dịch cho Mac không, hay tôi cần sử dụng trình biên dịch khác?
Nếu bạn đang sử dụng SDL, câu trả lời là "bạn có thể tiến gần đến mức bạn muốn, cho đến bước cuối cùng". Khả năng viết một chương trình giống như trò chơi trong một cơ sở mã duy nhất và sau đó đưa cơ sở mã đó sang một máy khác để biên dịch và chạy nó chính xác là những gì Thư viện DirectMedia Đơn giản được thiết kế để làm! Nếu ít nhất nó không trở thành một mục tiêu hợp lý thì nó sẽ không được ưa chuộng lắm.
Điều này không có nghĩa là bạn có thể nhấn nút và nhận gói nhị phân Macintosh hoặc Linux từ Visual Studio. Nhưng bạn luôn có thể tìm một người bạn và nhờ họ thử biên dịch nó cho bạn trên cơ sở mã. Miễn là bạn cẩn thận chỉ gọi các hàm từ thư viện C++ tiêu chuẩn và nằm trong hộp SDL cung cấp cho bạn, nó sẽ biên dịch tốt...Về mặt lý thuyết.
Cập nhật 2018: - Nếu bạn muốn biên dịch trên Mac mà chưa có, Travis-CI hiện có ảo hóa OS X, vì vậy bạn có thể chạy clang và thực sự tải nó lên các tệp nhị phân kết quả ở đâu đó. Bạn có thể không muốn đợi bản dựng đầy đủ qua mạng mỗi khi bạn thực hiện thay đổi...nhưng khi bạn có được một tòa nhà cơ sở mã đa nền tảng. trên OS X, việc tích hợp liên tục có thể đảm bảo bạn duy trì được điều đó.
Khó đảm bảo rằng bạn đang ở trong "hộp cát di động" trong C++ so với các ngôn ngữ khác (đặc biệt nếu bạn là người mới bắt đầu). Điều này có thể khó hơn nếu bạn đang làm theo hướng dẫn dành riêng cho một công cụ của Microsoft, vì họ không ngần ngại khuyến nghị bạn thực hiện các lệnh gọi chỉ dành cho Windows trong tài liệu của họ. Do đó, khả năng có thể giao mã "đã được gỡ lỗi hoàn toàn" cho bạn bè, biên dịch và chạy nó trên nền tảng mới trong lần đầu tiên là thấp.
Tất nhiên, bạn cần một thời gian thử nghiệm. Và có lẽ bạn không nên đợi đến phút cuối cùng để nhờ người khác đảm bảo những điều cơ bản hoạt động bằng cách biên dịch trong XCode hoặc phần mềm khác. Thay vào đó, bạn có thể sử dụng trình biên dịch GCC để giảm rủi ro khi viết mã không di động. Điều này sẽ có nhiều khả năng gây ra lời nhắc hơn nếu bạn bắt đầu giới thiệu các phần phụ thuộc không thực sự đa nền tảng.
Cũng có thể chạy "Hackintosh"Máy ảo nếu bạn thích sống ở rìa. Bạn chắc chắn có thể tạo một máy ảo Linux và thử xây dựng theo nó và nếu nó hoạt động, điều đó sẽ làm tăng độ tin cậy rằng bản dựng Mac cũng sẽ hoạt động. Nhưng không có gì đảm bảo.
Tôi là một lập trình viên xuất sắc, rất giỏi!