Windoes 및 Linux에서 C++ 코드 한 부를 컴파일하고 실행하고 싶습니다. 그래서 조건부 컴파일 (CC)을 사용해야합니다. 그러나 많은 수의 코드 파일에서 CC를 사용하는 방법은 입니다..코드 파일 수가 많은 C++ 조건부 컴파일
//A.cpp
#define _WINDOWS_
#ifdef _WINDOWS_
#include <windows.h>
//some code for windows
#else
#include <pthread.h>
//some code for linux
#endif
와 나는 또한 B.cpp, C.cpp이 ...
내가 모든 하나의 파일에 "#DEFINE의 _WINDOWS_"를 작성해야, 또는 :
같은, 내가 가지고 그것은 더 좋은 방법이 있습니까?
그리고 난 이렇게 할 시도 :
//A.cpp
#include "Platform.h"
#ifdef _WINDOWS_
#include <windows.h>
//some code for windows
#else
#include <pthread.h>
//some code for linux
#endif
3 : 1. 머리 파일 Platform.h
#ifndef _PLAT_
#define _PLAT_
#define _WINDOWS_
#endif
2를 만들처럼, 파일 Platform.h을 포함 그것은 오류를 컴파일! 아마도 "Platform.h"를 포함하기 전에 오류가 발생했을 수 있습니다.
감사합니다.
자신 만의 롤링보다'_WIN32'를 사용하는 것이 더 좋습니다. – chris
다른 플랫폼에 코드를 분리하기 위해 추상적 인 공장이 필요하다고 느끼십니까? http://en.wikipedia.org/wiki/Abstract_factory_pattern – billz
컴파일 오류가 무엇입니까? 적어도 –