CMake:找不到库-ljsoncpp
CMake: Library not found -ljsoncpp
我是 C++ 和 CMake 的新手。
在我的项目中,我使用 jsoncpp
库,我的 IDE(CLion) 可以毫无问题地查看它。但是,当我尝试编译它时,我收到此错误消息:
ld: library not found for -ljsoncpp
这是我的项目结构:
/
|-jsoncpp/ /*Here contains source code, not compiled library*/
|
|-work_7/
| |-main.cpp
|
|-CMakeList.txt
这是CMakeList.txt
配置:
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_subdirectory(jsoncpp)
并确保该目录中有 Cmake 文件用于编译。
您还需要指定 jsoncpp
的库所在的位置。将此添加到您的 CMakeLists.txt
:
link_directories(${CMAKE_CURRENT_SOURCE_DIR}/jsoncpp/lib)
该路径应包含名为 libjsoncpp.o
的文件或 S.O.
中的等效文件
我是 C++ 和 CMake 的新手。
在我的项目中,我使用 jsoncpp
库,我的 IDE(CLion) 可以毫无问题地查看它。但是,当我尝试编译它时,我收到此错误消息:
ld: library not found for -ljsoncpp
这是我的项目结构:
/
|-jsoncpp/ /*Here contains source code, not compiled library*/
|
|-work_7/
| |-main.cpp
|
|-CMakeList.txt
这是CMakeList.txt
配置:
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_subdirectory(jsoncpp)
并确保该目录中有 Cmake 文件用于编译。
您还需要指定 jsoncpp
的库所在的位置。将此添加到您的 CMakeLists.txt
:
link_directories(${CMAKE_CURRENT_SOURCE_DIR}/jsoncpp/lib)
该路径应包含名为 libjsoncpp.o
的文件或 S.O.