基本上这是我的第一个堆栈溢出的问题,对于任何不准确/愚蠢的问题我很抱歉,在类似问题中,我已经尝试了3天来解决我的问题,但无论如何我都不够了解Cmake或者从一开始就做错了什么。
我通过Homebrew( `brew install json-c` )安装了Json-c 。我在macOS上使用Clion,它使用Cmake。我修改了我的CmakeLists:
但我不确定如何为TARGET_LINK_LIBRARIES设置参数。
当我尝试构建项目时,它给了我这个:
根据我在网上找到的信息,有人遇到了类似的问题(https://github.com/json-c/json-c/issues/235),但是通过Brew安装软件包后,在/usr/local/lib下没有任何"json-c"文件夹或文件。只有在usr/local/include中有指向brew目录的"json-c"别名。
我尝试按照仓库网站提供的说明安装json-c(https://github.com/json-c/json-c),但之后我不知道如何设置CmakeLists.txt来使项目正常工作。
我做错了什么?我刚接触编程,对cmake和macOS/Homebrew在通过git clone安装新软件包时管理文件的方式了解不多。
我通过Homebrew( `brew install json-c` )安装了Json-c 。我在macOS上使用Clion,它使用Cmake。我修改了我的CmakeLists:
cmake_minimum_required(VERSION 3.10)
project(Project C)
set(CMAKE_C_STANDARD 99)
INCLUDE_DIRECTORIES(/usr/local/Cellar/json-c/0.13.1/include/json-c)
LINK_DIRECTORIES(/usr/local/Cellar/json-c/0.13.1/lib)
add_executable(Project main.c functions.c functions.h exp_functions.c exp_functions.h)
TARGET_LINK_LIBRARIES(Project)
但我不确定如何为TARGET_LINK_LIBRARIES设置参数。
当我尝试构建项目时,它给了我这个:
Undefined symbols for architecture x86_64:
"_json_object_new_double", referenced from:
_GenerateJson in functions.c.o
"_json_object_new_object", referenced from:
_GenerateJson in functions.c.o
"_json_object_new_string", referenced from:
_GenerateJson in functions.c.o
"_json_object_object_add", referenced from:
_GenerateJson in functions.c.o
"_json_object_to_json_string", referenced from:
_GenerateJson in functions.c.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
根据我在网上找到的信息,有人遇到了类似的问题(https://github.com/json-c/json-c/issues/235),但是通过Brew安装软件包后,在/usr/local/lib下没有任何"json-c"文件夹或文件。只有在usr/local/include中有指向brew目录的"json-c"别名。
我尝试按照仓库网站提供的说明安装json-c(https://github.com/json-c/json-c),但之后我不知道如何设置CmakeLists.txt来使项目正常工作。
我做错了什么?我刚接触编程,对cmake和macOS/Homebrew在通过git clone安装新软件包时管理文件的方式了解不多。