/usr/include默认情况下可以包含.但是当您包含外部库时,必须将其链接到目标.如果您正在使用cmake它,可以按如下方式完成:将以下行添加到您的CMakeLists.txt:
target_link_libraries(your_target_name your_library_name)
Run Code Online (Sandbox Code Playgroud)
例如,在我的机器(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;
}
Run Code Online (Sandbox Code Playgroud)
和 CMakeLists.txt
add_executable(test
test.cpp
)
target_link_libraries(test jsoncpp)
Run Code Online (Sandbox Code Playgroud)
一切顺利.