Tôi khá mới đối với C++. Tôi hiện đang làm việc trên một dự án nhóm và chúng tôi muốn làm cho các lớp của chúng tôi tương thích với cả máy tính trong phòng thí nghiệm (Windows) và máy tính của tôi (Mac OS X).C++ #ifdef Câu hỏi của Mac OS X
Đây là những gì chúng tôi đã được đặt ở phía trên cùng của file chúng tôi:
#ifdef TARGET_OS_X
# include <GLUT/glut.h>
# include <OpenGL/OpenGL.h>
#elif defined _WIN32 || defined _WIN64
# include <GL\glut.h>
#endif
Tôi nhận ra câu hỏi này đã được hỏi trước nhưng tìm kiếm của tôi đã được đem lại cho tôi câu trả lời mâu thuẫn như "_MAC", "TARGET_MAC_OS "," MACINTOSH ", v.v .. Khai báo hiện tại và chính xác để đưa vào câu lệnh #ifdef để làm cho nó tương thích với Mac là gì? Ngay bây giờ nó không hoạt động.
Cảm ơn bạn!
Tất nhiên, '#ifdef __APPLE__' sẽ đủ nếu OP không nhắm mục tiêu iOS. –
@larsmans: Tốt hơn hãy chắc chắn sau đó xin lỗi. Nếu người dùng quyết định đơn giản hóa, hãy chắc chắn :) – orlp
'TARGET_OS_IPHONE' được xác định cho Trình mô phỏng iOS, vì vậy, bạn cần phải đặt thử nghiệm' TARGET_IPHONE_SIMULATOR' trước khi nó. * Ngoài ra *, cả ba được xác định trên nền tảng của Apple - bạn phải kiểm tra theo giá trị ('#if TARGET_OS_IPHONE' thay vì' #ifdef TARGET_OS_IPHONE'.) –