2012-07-31 46 views
2

我想用一個名爲SDL_draw的庫使用cmake來編譯我的項目。 我下載並安裝後,庫文件將進入/ usr/local/lib並命名爲libSDL_draw.a,因此我編輯了CMakeLists.txt以閱讀此內容。向cmake添加一個庫

link_directories(
    /usr/local/lib 
) 
include_directories(/usr/local/lib) 

ADD_EXECUTABLE(point_trajectory point_trajectory.cpp) 

TARGET_LINK_LIBRARIES(point_trajectory SDL_draw) 

該cmake成功,但當我「製造」該項目後cmake它仍然無法找到SDL_draw.h。

fatal error: SDL_draw.h: No such file or directory 
compilation terminated. 
make[2]: *** [CMakeFiles/point_trajectory.dir/point_trajectory.cpp.o] Error 1 
make[1]: *** [CMakeFiles/point_trajectory.dir/all] Error 2 
make: *** [all] Error 2 

回答

2

我從來沒有使用過SDL_draw,但看起來很有趣。通常庫存檔位於/ usr/local/lib中,但頭文件位於其他位置......可能是/ usr/local/include。

您可能需要仔細檢查SDL_draw.h的位置。如果它位於/ usr/local/lib中,請仔細檢查您是否正確安裝它。

可能,這將解決您的問題:

include_directories(/usr/local/include) 
+0

SDL_draw.h不是在usr目錄下的任何地方出現。 – rajat 2012-07-31 10:19:00

+0

我把SDL_draw.h放在/ usr/local/include中,它似乎工作。 – rajat 2012-07-31 21:55:30

+0

對於它的價值,您可能需要閱讀SDL_draw的文檔。特別是,應該有一個安裝步驟,將SDL_draw.h複製到/ usr/local/include中。當然,手動進行拷貝也是可行的,但這可能表明其他問題可能是錯誤的。所以,你可能想要考慮一下,以防將來出現問題。 – Ray 2012-08-02 12:55:23