c++ cmake错误'ld:在Mac上编译节点源代码时未找到框架-lCoreFoundation”

xoshrz7s  于 2022-11-19  发布在  Mac
关注(0)|答案(1)|浏览(211)

我 想 编译 CLion 中 的 节点 , 所以 我 用 gyp 制作 了 一 个 CMakeLists.txt 文件 , 但是 出现 了 这个 错误 :

ld: framework not found -lCoreFoundation
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[3]: *** [node] Error 1
make[2]: *** [CMakeFiles/node.dir/all] Error 2
make[1]: *** [CMakeFiles/node.dir/rule] Error 2
make: *** [node] Error 2

中 的 每 一 个
CMakeLists.txt 的 组成 部分 :

target_link_libraries(node
-Wl
  cares
  v8_libplatform
  openssl
  zlib
  http_parser
  libuv
  v8_base
  v8_libbase
  v8_snapshot
-Wl
  -framework CoreFoundation
  -lm
)

格式

l3zydbqr

l3zydbqr1#

"-framework CoreFoundation"需要用引号括起来,否则CMake会将CoreFoundation解释为一个库名称,并将-lCoreFoundation放到命令行中的相应位置。因此,命令行将变成-framework -lCoreFoundation。将结构用引号括起来,可以防止这种替换。

相关问题