C++ 在realease模式下构建时未解析的外部符号(LNK2001)

C++ 在realease模式下构建时未解析的外部符号(LNK2001),c++,opencv,linker,managed-c++,C++,Opencv,Linker,Managed C++,我的解决方案有3个项目: 本机C++(静态LIB)< /LI> CLI/C++包装器(动态库) C# 在我的C++项目中,我使用OpenCV 3.2进行了一些图像处理。CLI/C++项目管理C++与C语言之间的通信。 只要我处于调试模式,我就没有问题,但是当我切换到释放模式时,我会得到很多opencv函数的LNK2001“未解析外部符号”错误 对于debug和release,我都在使用opencv的属性表,它们都能正常工作(我在多个项目中使用它们)。我的本机C++项目成功地在两种模式下构建,

我的解决方案有3个项目:

    本机C++(静态LIB)< /LI>
  • CLI/C++包装器(动态库)
  • C#

在我的C++项目中,我使用OpenCV 3.2进行了一些图像处理。CLI/C++项目管理C++与C语言之间的通信。 只要我处于调试模式,我就没有问题,但是当我切换到释放模式时,我会得到很多opencv函数的LNK2001“未解析外部符号”错误

对于debug和release,我都在使用opencv的属性表,它们都能正常工作(我在多个项目中使用它们)。我的本机C++项目成功地在两种模式下构建,但在CLI/C++封装器上构建崩溃(这个项目本身使用一些OpenCV函数)。p> 我已经验证了属性表(设置了正确的库、路径)

在CLI/C++中,可能还有一些额外的规则需要注意

编辑


我在Windows 10上使用C++17和Visual Studio 2017

您的构建环境是什么?Windows还是Linux?我知道在linux上,您可以使用诸如ldd之类的工具检查共享对象,使用nm列出文件中的符号。不确定windows等价物是什么。如果静态库未使用该符号,则可能需要在动态库上再次链接opencv符号piece@Robb我已经更新了这个问题。我在两个项目中都包含了属性表,因此如果我没有弄错的话,wapperll应该链接到opencv