无法在C++; 我试图在C++中创建一个NoDE.js ADDON,请遵循下面提供的例子。

无法在C++; 我试图在C++中创建一个NoDE.js ADDON,请遵循下面提供的例子。,c++,node.js,build,clion,node.js-addon,C++,Node.js,Build,Clion,Node.js Addon,我通过以下方式链接了node.h和v8.h库设置我的CMakeLists.txt: cmake_minimum_required(VERSION 3.6) project(node___C__) set(CMAKE_CXX_STANDARD 11) set(SOURCE_FILES main.cpp) add_executable(node___C__ ${SOURCE_FILES}) include_directories(/usr/include/nodejs/src) includ

我通过以下方式链接了node.h和v8.h库设置我的CMakeLists.txt:

cmake_minimum_required(VERSION 3.6) project(node___C__)

set(CMAKE_CXX_STANDARD 11)
set(SOURCE_FILES main.cpp) 

add_executable(node___C__ ${SOURCE_FILES})

include_directories(/usr/include/nodejs/src)
include_directories(/usr/include/nodejs/deps/v8/include)
我认为库在我的CMakeList.txt中设置正确,但是当我尝试在Clion中编译文件时,我得到了以下错误:

/usr/include/nodejs/src/node.h:239:v8::Isolate::GetCurrent()的未定义引用
/usr/include/nodejs/src/node.h:240:对“v8::HandleScope::HandleScope(v8::Isolate*)”的未定义引用
/usr/include/nodejs/src/node.h:242:对“v8::FunctionTemplate::New(v8::Isolate*,void(*)(v8::FunctionCallbackInfo常量&),v8::Local,v8::Local,int)”的未定义引用
/usr/include/nodejs/src/node.h:243:对“v8::FunctionTemplate::GetFunction()”的未定义引用
/usr/include/nodejs/src/node.h:244:对“v8::String::NewFromUtf8(v8::Isolate*,char const*,v8::String::NewStringType,int)”的未定义引用
/usr/include/nodejs/src/node.h:245:对“v8::Function::SetName(v8::Local)”的未定义引用
/usr/include/nodejs/src/node.h:246:对“v8::Object::Set(v8::Local,v8::Local)”的未定义引用
/usr/include/nodejs/src/node.h:240:对“v8::HandleScope::~HandleScope()的未定义引用”
/usr/include/nodejs/src/node.h:240:对“v8::HandleScope::~HandleScope()的未定义引用”
我做错了什么?我是C++新手,所以我可能犯了一些愚蠢的错误。
我忘记链接一些依赖项了?

您没有链接依赖项,请参见此处:@SteveLorimer嗨,谢谢您的回复。我是C++新手。我读过你链接的帖子,但我不明白我做错了什么。在我的CMake文件中,我已经包含了依赖项,我用了一种错误的方式?include_目录(/usr/include/nodejs/src)include_目录(/usr/include/nodejs/deps/v8/include)如果只是添加include目录,则需要链接到库(请参阅),在任何情况下,您也应该使用这些库,而不是
include_目录
(不是严格必要的,而是更现代的惯用cmake),
/usr/include
应该已经在您的搜索路径上(这是一个标准的系统搜索路径),因此您可能甚至不需要使用
目标目录
,因此您应该尝试删除它们,看看它是否仍然有效(链接必要的库后)
/usr/include/nodejs/src/node.h:239: undefined reference to `v8::Isolate::GetCurrent()' 
/usr/include/nodejs/src/node.h:240: undefined reference to `v8::HandleScope::HandleScope(v8::Isolate*)'
/usr/include/nodejs/src/node.h:242: undefined reference to `v8::FunctionTemplate::New(v8::Isolate*, void (*)(v8::FunctionCallbackInfo<v8::Value> const&), v8::Local<v8::Value>, v8::Local<v8::Signature>, int)' 
/usr/include/nodejs/src/node.h:243: undefined reference to `v8::FunctionTemplate::GetFunction()'
/usr/include/nodejs/src/node.h:244: undefined reference to `v8::String::NewFromUtf8(v8::Isolate*, char const*, v8::String::NewStringType, int)' 
/usr/include/nodejs/src/node.h:245: undefined reference to `v8::Function::SetName(v8::Local<v8::String>)'
/usr/include/nodejs/src/node.h:246: undefined reference to `v8::Object::Set(v8::Local<v8::Value>, v8::Local<v8::Value>)'
/usr/include/nodejs/src/node.h:240: undefined reference to `v8::HandleScope::~HandleScope()' 
/usr/include/nodejs/src/node.h:240: undefined reference to `v8::HandleScope::~HandleScope()'