문제

GCC V4+에 제공되는 일부 기능을 사용하고 있으며 CMAKE를 통해 GCC V4 컴파일러를 찾으려면 GCC V4가 필요하다는 오류를 반환합니다.

누구든지 이런 일을하는 방법에 대한 모듈 / 아이디어가 있습니까?

감사.

도움이 되었습니까?

해결책

try_compile () 명령을 사용하고 다음 프로그램을 컴파일하십시오.

#if __GNUC__ != 4
#error
#endif
int main() { return 0; }

다른 팁

GCC 버전 검사를 구현하는 완전히 다른 (반드시 더 나은 것은 아닙니다) 방법은 다음과 같습니다.

if(CMAKE_COMPILER_IS_GNUCXX)
  exec_program(
      ${CMAKE_CXX_COMPILER}
      ARGS                    --version
      OUTPUT_VARIABLE _compiler_output)
  string(REGEX REPLACE ".* ([0-9]\\.[0-9]\\.[0-9]) .*" "\\1"
         gcc_compiler_version ${_compiler_output})
  message(STATUS "C++ compiler version: ${gcc_compiler_version} [${CMAKE_CXX_COMPILER}]")

  if(gcc_compiler_version MATCHES "4\\.[0-9]\\.[0-9]")
    message(FATAL_ERROR "foobar")
    ...

  if(gcc_compiler_version VERSION_GREATER "4.5.99")
  ...
...

CMAKE 자체에는 곧 해결책이있을 수 있습니다. http://cmake.3232098.n2.nabble.com/gcc-compiler-version-td7185771.html

CMAKE의 향후 릴리스에는 두 가지 변수가 포함될 수 있습니다. cmake_c_compiler_version 그리고 cmake_cxx_compiler_version.

Halas, 나는 아직 2.8.8 Changelog에서 그들을 보지 못했습니다.

지금은 @cmaker 솔루션을 사용합니다.

도구 체인 파일도 있습니다 VTK Wiki에 언급되어 있습니다. 이를 통해 사용자 정의 도구 체인을 지정할 수 있습니다. 일반적으로 크로스 컴파일에 사용되지만 다른 툴체인을 작동시키기 전에 사용했습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top