2012-07-31 47 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