如何解决为什么我收到错误:架构 x86_64 的未定义符号?
工具:MacOS、C++、Brew、nats.c
嗨,那里。我正在尝试将程序与 NATS 连接。我使用的库是 https://github.com/nats-io/nats.c
一小段代码:
#include <iostream>
#include "nats/nats.h"
using std::cout;
using std::endl;
using std::string;
int main() {
cout << "[App] Started" << endl;
natsConnection *conn = NULL;
natsConnection_ConnectTo(&conn,NATS_DEFAULT_URL);
}
CMake 文件:
cmake_minimum_required(VERSION 3.17)
project(broker)
set(CMAKE_CXX_STANDARD 20)
set(CNATS_INCLUDE "/usr/local/Cellar/cnats/2.5.1/include")
include_directories(${CNATS_INCLUDE})
set(THREADS_PREFER_PTHREAD_FLAG ON)
find_package(Threads required)
add_executable(broker main.cpp)
但是当我尝试运行它时:
[ 50%] Linking CXX executable broker
Undefined symbols for architecture x86_64:
"_natsConnection_ConnectTo",referenced from:
_main in main.cpp.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command Failed with exit code 1 (use -v to see invocation)
make[3]: *** [broker] Error 1
make[2]: *** [CMakeFiles/broker.dir/all] Error 2
make[1]: *** [CMakeFiles/broker.dir/rule] Error 2
make: *** [broker] Error 2
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。