添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

cmakeを使ってBoost::Threadを使用するプロジェクトの Makefile を作成しようとしたところ,初回は以下のエラーが,

CMake Error at /usr/local/Cellar/cmake/3.3.1/share/cmake/Modules/CheckIncludeFiles.cmake:79 (try_compile):
  Unknown extension ".c" for file
    /Users/mjhd/Projects/trax-stable/trax-viewer/CMakeFiles/CMakeTmp/CheckIncludeFiles.c
  try_compile() works only for enabled languages.  Currently these are:
  See project() command to enable other languages.
Call Stack (most recent call first):
  /usr/local/Cellar/cmake/3.3.1/share/cmake/Modules/FindThreads.cmake:123 (CHECK_INCLUDE_FILES)
  /usr/local/Cellar/cmake/3.3.1/share/cmake/Modules/CMakeFindDependencyMacro.cmake:65 (find_package)
  cmake/FindBoost.cmake:1401 (find_dependency)
  CMakeLists.txt:22 (find_package)
-- Looking for include file pthread.h - not found
CMake Error at /usr/local/Cellar/cmake/3.3.1/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:148 (message):
  Could NOT find Threads (missing: Threads_FOUND)
Call Stack (most recent call first):
  /usr/local/Cellar/cmake/3.3.1/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:388 (_FPHSA_FAILURE_MESSAGE)
  /usr/local/Cellar/cmake/3.3.1/share/cmake/Modules/FindThreads.cmake:204 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  /usr/local/Cellar/cmake/3.3.1/share/cmake/Modules/CMakeFindDependencyMacro.cmake:65 (find_package)
  cmake/FindBoost.cmake:1401 (find_dependency)
  CMakeLists.txt:22 (find_package)

二回目以降は以下のエラーが,

CMake Error at /usr/local/Cellar/cmake/3.3.1/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:148 (message):
  Could NOT find Threads (missing: Threads_FOUND)
Call Stack (most recent call first):
  /usr/local/Cellar/cmake/3.3.1/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:388 (_FPHSA_FAILURE_MESSAGE)
  /usr/local/Cellar/cmake/3.3.1/share/cmake/Modules/FindThreads.cmake:204 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  /usr/local/Cellar/cmake/3.3.1/share/cmake/Modules/CMakeFindDependencyMacro.cmake:65 (find_package)
  cmake/FindBoost.cmake:1401 (find_dependency)
  CMakeLists.txt:22 (find_package)

表示されるようになった.
しかも,この現象が起こるのは Mac 上のcmakeだけ

2日間 悩んだ挙句,解決策を発見した.

project(YOUR_PROJECT CXX)

などと書いてある部分を,

project(YOUR_PROJECT CXX C)

と変更し, CMakeFilesディレクトリ,CMakeCache.txtファイルなどを削除してから, 再びcmake .を行う.(重要)