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++的新手,你可以尝试,因为它在你的项目中是很容易使用的。如果你有兴趣重用这个代码,请阅读启动的网页,为什么要动态库?为什么要动态库?