저는 다중 플랫폼 프로젝트를 진행하고 있습니다. 가능한 한 외부 도구없이 OS 고유의 포함을 관리하는 간단하고 빠른 방법이 필요합니다.C++ 플랫폼 관련 내용
나는 당신은 플랫폼 자체에 의해 정의 된 처리기 지시문을 가질 수 있습니다 (I 작동하지 않습니다 잘 알고 있어요)이 같은
#define PLATFORM_A 1
#define PLATFORM_B 2
#ifndef TARGET_PLATFORM
//ERROR
#endif
#if TARGET_PLATFORM == PLATFORM_A
#define DIR "a"
#elif TARGET_PLATFORM == PLATFORM_B
#define DIR "b"
#define PLATFORM_INCLUDE(file) \
#include "platforms/" DIR "/" file
는, 그 상수를 주입한다. 예를 들어, 리눅스를 사용한다면, Makefile은'gcc -DPLATFORM = windows'를 가질 것입니다. 그러나 문제는 무엇을하려는 것입니까? 예를 들어 Win32 API 프로그램은 Qt 프로그램과 동일한 소스 트리에 배포되지 않지만 소켓을 만들려고하면 소스 파일이 #if 조건으로 흩어져있을 수 있습니다. –