2
當我嘗試使用cmake 2.8.9構建特定應用程序時,一切看起來都很好。 cmake告訴我,找到了所有需要的頭文件和庫,沒有錯誤。但是,當我運行make
時,由於缺少頭文件,構建失敗。這些頭文件在運行make之前只需幾秒鐘就可以通過cmake找到。調試make和cmake?
我想知道爲什麼cmake可以找到文件,但不能。我怎樣才能調試呢?
當我嘗試使用cmake 2.8.9構建特定應用程序時,一切看起來都很好。 cmake告訴我,找到了所有需要的頭文件和庫,沒有錯誤。但是,當我運行make
時,由於缺少頭文件,構建失敗。這些頭文件在運行make之前只需幾秒鐘就可以通過cmake找到。調試make和cmake?
我想知道爲什麼cmake可以找到文件,但不能。我怎樣才能調試呢?
聽起來像CMake通過運行Find
模塊「找到」標題,它找到磁盤上的文件並將它們存儲在CMake變量中。然後必須使用這些變量來配置CMakeList中定義的目標,並且可能在CMakeList中缺少此步驟。檢查CMakeList中的所有find_package()
調用,並確保在必要時使用它們的結果。
下面是一個例子怎麼會找一個簡單的庫(GLUT):
find_package(GLUT) # find GLUT
include_directories(${GLUT_INCLUDE_DIR}) # use variable set up by find_package() call
add_target(MyGlutUsingProgram main.cpp)
target_link_libraries(${GLUT_LIBRARIES}) # use variable set up by find_package() call