ncnn LNK2019 无法解析的外部符号 "bool __cdecl glslang::InitializeProcess(void)"

tnkciper  于 2022-10-24  发布在  其他
关注(0)|答案(5)|浏览(590)

运行yolov4.cpp样例遇到一些函数无定义,例如:

LNK2019 无法解析的外部符号 "bool __cdecl glslang::InitializeProcess(void)" (?InitializeProcess@glslang@@YA_NXZ),函数 "int __cdecl ncnn::create_gpu_instance(void)" (?create_gpu_instance@ncnn@@YAHXZ) 中引用了该符号

貌似是libncnn.lib里没有包含glslang的库。请问该如何解决呢?我是按照教程引导来编译ncnn的。

xuo3flqw

xuo3flqw1#

I also want to know

qyswt5oh

qyswt5oh2#

also want to know

xiozqbni

xiozqbni3#

我可能遇到了类似的问题

  1. 严重性 代码 说明 项目 文件 禁止显示状态
  2. 错误 LNK2019 无法解析的外部符号 vkCreateInstance,该符号在函数 "int __cdecl ncnn::create_gpu_instance(void)" (?create_gpu_instance@ncnn@@YAHXZ) 中被引用 nano d:\busyData\documents\visual studio 2015\Projects\nano\nano\ncnn.lib(gpu.cpp.obj) 1
cbeh67ev

cbeh67ev4#

我改好了,在项目配置 -> C/C++ -> 代码生成 这里把运行库由 /MDd 改成 /MD

oprakyz7

oprakyz75#

产生题目中的报错,有一种可能的原因是:调用ncnn库的VS工程里(例如mtcnn_ncnn),链接ncnn库是通过手动指定库文件位置、而没有用cmake里的 find_package(ncnn) 导致的。对于带vulkan的ncnn, find_package(ncnn) 会自动添加vulkan相关的依赖,例如我的是:

  1. E:\github\ncnn\build\vs2019-x64\install\lib\ncnnd.lib
  2. E:\lib\VulkanSDK\1.2.148.0\Lib\vulkan-1.lib
  3. E:\github\ncnn\build\vs2019-x64\install\lib\SPIRVd.lib
  4. E:\github\ncnn\build\vs2019-x64\install\lib\glslangd.lib
  5. E:\github\ncnn\build\vs2019-x64\install\lib\OGLCompilerd.lib
  6. E:\github\ncnn\build\vs2019-x64\install\lib\OSDependentd.lib

相关问题