저는 정의를 사용하여 컴파일 할 때 구성 할 수있는 C++ 수학 라이브러리에서 작업하고 있습니다.라이브러리 구성에 #define 사용
구성 중 하나가 정밀도를 정의합니다. 코드에서 보면 다음과 같습니다.
#ifdef MYMATH_USE_DOUBLE
typedef double Real;
#else
typedef float Real;
#endif
잘 작동합니다.
누군가가 MYMATH_USE_DOUBLE
으로 구성된 후에 라이브러리를 사용하려면 해당 정의를 컴파일러에 전달해야합니다.
더 좋은 방법이 있나요?
사용자가 수학 라이브러리를 컴파일하는 데 사용 된 정의를 기억하고 자신의 앱에서이 정의를 모두 반복해서 사용하는 것을 원하지 않습니다.
이것이 해결책이라고 생각합니다. 이제 선택 도구 (scons)에 헤더를 작성하는 방법이 있는지 알아야합니다. – m0tive
이것은 환경 설정을 라이브러리로 컴파일하는 방법에 대한 대답입니다. 템플릿 (다른 주석에 설명되어 있음)을 사용하면 작동하지만 더 많은 코드 리팩터링이 필요하다는 것을 인정합니다. – m0tive