CMake:未找到库-ljsoncpp 我在C++和CMake中很新。< /P>

CMake:未找到库-ljsoncpp 我在C++和CMake中很新。< /P>,c++,cmake,C++,Cmake,在我的项目中,我使用jsoncpp库和我的IDE(CLion)来查看它,没有任何问题。但是,当我尝试编译它时,我收到以下错误消息: ld:找不到-ljsoncpp的库 以下是我的项目结构: / |-jsoncpp/ /*Here contains source code, not compiled library*/ | |-work_7/ | |-main.cpp | |-CMakeList.txt 下面是CMakeList.txtconfig: cmake_minimum_requir

在我的项目中,我使用
jsoncpp
库和我的IDE(CLion)来查看它,没有任何问题。但是,当我尝试编译它时,我收到以下错误消息:

ld:找不到-ljsoncpp的库

以下是我的项目结构:

/
|-jsoncpp/  /*Here contains source code, not compiled library*/
|
|-work_7/
|  |-main.cpp
|
|-CMakeList.txt
下面是
CMakeList.txt
config:

cmake_minimum_required(VERSION 2.8.4)
project(programming_practice)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(SOURCE_FILES work_7/main.cpp)

add_executable(programming_practice ${SOURCE_FILES})
include_directories(${CMAKE_CURRENT_SOURCE_DIR}/jsoncpp/include)
add_subdirectory(jsoncpp)

target_link_libraries(programming_practice jsoncpp)

那我做错了什么?请帮帮我。

问题是,在使用jsoncpp之前,需要先将其编译到库中。
使用
add_子目录(jsoncpp)
并确保该目录中有Cmake文件用于编译

问题是,在使用jsoncpp之前,需要先将其编译到库中。
使用
add_子目录(jsoncpp)
并确保该目录中有Cmake文件用于编译

您还需要指定
jsoncpp
的库的位置。将此添加到您的
CMakeLists.txt

link_directories(${CMAKE_CURRENT_SOURCE_DIR}/jsoncpp/lib)

该路径应包含名为:
libjsoncpp.o
的文件或S.o中的等效文件。

您还需要指定
jsoncpp
的库的位置。将此添加到您的
CMakeLists.txt

link_directories(${CMAKE_CURRENT_SOURCE_DIR}/jsoncpp/lib)

该路径应该是包含名为:
libjsoncpp.o
的文件或S.o中的等效文件的路径。

什么是“我的IDE查看库”?如果它明白为什么它不能编译?顺便说一句,
ld
是一个链接器。你是否已经编译了JSONCPP?@“丢弃”意味着当我输入“y*”时,“IDE建议我这个库。如果你是C++的新手,你可以尝试,因为它在你的项目中是很容易使用的。如果你有兴趣重用这个代码,请阅读启动的网页,我的IDE看到什么库?””“什么意思?如果它明白为什么它不能编译?顺便说一句,
ld
是一个链接器。你是否已经编译了JSONCPP?@“丢弃”意味着当我输入“y*”时,“IDE建议我这个库。如果你是C++的新手,你可以尝试,因为它在你的项目中是很容易使用的。如果你有兴趣重用这个代码,请阅读启动的网页,为什么要动态库?为什么要动态库?