autotools와 함께 openMP를 사용하는 것에 관한 인터넷상의 정보를 찾을 수 없어요! AC_OPENMP 및 AX_OPENMP와 같은 매크로에 대한 모호한 참조를 발견했습니다. 어느 것도 작동하지 않습니다. AC_OPENMP는 "정의되지 않은 매크로 오류"를 발생시킵니다. AX_OPENMP는 autoconf를 지나치게되지만, configure가 AX_OPENMP가 정의되지 않았다는 불평을하게합니다. 이러한 매크로는 openMP를 확인하고 OPENMP_CFLAGS를 적절한 값으로 설정해야한다는 것을 알고 있습니다.autoconf 및 automake에서 OpenMP 검사 및 플래그를 활성화하십시오.
내 Makefile.am에 오버플로되어 있어도 OpenMP에서 올바르게 작동하는 foo_CXXFLAGS (C++ 프로젝트)를 얻을 수 없습니다. Makefile.am에 수동으로 foo_CXXFLAGS = -fopenmp
을 설정하면, -fopenmp 플래그가 오브젝트 파일을 함께 결합하는 (링크) 단계를 제외하고 모든 컴파일 명령에 추가됩니다. 물론 정의되지 않은 참조 오류가 발생합니다. 이것은 내 오해 일 수 있습니다. AM_CXXFLAGS = -fopenmp
을 설정하는 것이 가장 좋은 방법은 아닙니다. 사실 둘 다 확인하지 않고 foo_CXXFLAGS를 설정하고 있지만 제대로 작동하지 않는 것 같습니다.
제발, 누구 도와 줄 수 있습니까? 이것은 웹상에서 문서화를해야한다는 단순하고 일반적인 작업처럼 보입니다. 몇 가지를 명확히하기 위해, 코드를 수동으로 컴파일하면 코드가 잘 컴파일되며 오류없이 실행됩니다. 상황이 엉망이되는 것은이 자동 생산 단계에서만입니다. autoconf와 함께 openMP를 사용하는 방법에 대한 문서를 나에게 가르쳐 줄 수 있다면, 내 가장 좋은 친구가 될 것이다. 감사.
Autoconf의 버전 2.59, automake는 버전 "정의되지 않은 매크로 오류"에 대한 귀하의 첫 번째 질문에 관해서는 1.9.6
AX_는 외부 매크로의 네임 스페이스입니다. 'AX_OPENMP'를 정의하고 싶다면, 그것을 다운로드하여 m4 디렉토리에 포함시켜야합니다. – ptomato