如何在Cmake/Kdevelop中使用/包含库
How to use / include libraries in Cmake / Kdevelop
我不明白使用位于/usr/include中的库需要做什么。
例如:我想使用位于/usr/include/json中的json库。在我的项目"main.cpp"中,我做#include <json/json.h>
。
我没有得到任何erros,但当我开始使用库中的函数时,我会得到未定义的引用错误。我对多个库有这个问题,我不知道该怎么办。我在谷歌上搜索了一下,但只找到了模糊的答案。
我很确定我需要在CMakeLists.txt文件中做些什么,但我不知道是什么。
/usr/include
进行include。但是,当包含外部库时,必须将其链接到目标。如果您使用的是cmake
,可以按如下方式进行:在CMakeLists.txt中添加以下行:
target_link_libraries(your_target_name your_library_name)
例如,在我的机器(Fedora 21)上,jsoncpp包名为jsoncpp
,它的include
文件在/usr/include/jsoncpp/json
中。所以我像这个一样创建test.cpp
#include <jsoncpp/json/json.h>
#include <iostream>
int main(int, char**)
{
Json::Value val(42);
Json::StyledStreamWriter sw;
sw.write(std::cout, val);
return 0;
}
和CMakeLists.txt
add_executable(test
test.cpp
)
target_link_libraries(test jsoncpp)
一切都很好。
相关文章:
- 如何在 C++ 的 .so 文件中包含库
- 如何在内核中添加包含库的路径?
- 在基于命令行的QT插件构建中包含库
- 检查包含库C++的大小
- 在 C++ 中包含库数据库.txt文件时出错
- C++ 在虚幻引擎中包含库后重新定义类型
- 无法在Windows中找到来自cmake的MySQL和Boost包含/库
- 包含库,同时在 XCode 中以C++编码
- 如何在 CMake 项目中正确包含库
- 修改生成文件以包含库并使用 C++11
- 忽略来自 GDB(终端)中的包含/库文件的调试消息
- 在标题文件和CPP文件中都包含库
- 在Visual Studio C 项目中设置默认的附加包含/库路径
- 在C 项目中包含库的不同方式是什么?
- 在 cmake c++ 项目中包含库的首选方法是什么?
- 在包含库时找不到Qt shared_ptr
- 如何在命令行上使用 Visual Studio 进行编译时包含库
- 彭博数据 API 如何包含库 c++
- G++ 不包含库
- 如何在Cmake/Kdevelop中使用/包含库