Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/147.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
静态链接的非托管libs和C++;CLR 是否可以在C++ CLR中使用/M/MT编译的LIBS?如果我在CLR项目中使用/MD,它会抛出大量LNK2022“元数据操作失败(8013118D)”错误,或者如果我使用/MT,“/MT”和“/CLR:pure”命令行选项不兼容_C++_Clr - Fatal编程技术网

静态链接的非托管libs和C++;CLR 是否可以在C++ CLR中使用/M/MT编译的LIBS?如果我在CLR项目中使用/MD,它会抛出大量LNK2022“元数据操作失败(8013118D)”错误,或者如果我使用/MT,“/MT”和“/CLR:pure”命令行选项不兼容

静态链接的非托管libs和C++;CLR 是否可以在C++ CLR中使用/M/MT编译的LIBS?如果我在CLR项目中使用/MD,它会抛出大量LNK2022“元数据操作失败(8013118D)”错误,或者如果我使用/MT,“/MT”和“/CLR:pure”命令行选项不兼容,c++,clr,C++,Clr,我需要在图书馆更改什么?这个库是我的,但它包括几个第三方静态库。LNK2022是一个很难确定的问题。这通常意味着影响结构布局的模块配置之一与其他模块不同 检查是否存在以下常见原因: 确保所有项目对当前解决方案配置使用相同的运行库(/MDd或/MD)。如果一个项目正在使用Debug,而其他项目正在使用Release,或者反之亦然,则会出现LNK2022错误 确保所有项目都使用相同的结构杆件对齐方式。如果一个项目使用/Zp开关,请特别注意。此外,请确保不要有条件地使用#pragma pack(n)

我需要在图书馆更改什么?这个库是我的,但它包括几个第三方静态库。

LNK2022是一个很难确定的问题。这通常意味着影响结构布局的模块配置之一与其他模块不同

检查是否存在以下常见原因:

  • 确保所有项目对当前解决方案配置使用相同的运行库(/MDd或/MD)。如果一个项目正在使用Debug,而其他项目正在使用Release,或者反之亦然,则会出现LNK2022错误
  • 确保所有项目都使用相同的结构杆件对齐方式。如果一个项目使用/Zp开关,请特别注意。此外,请确保不要有条件地使用#pragma pack(n)
您可以使用/d1reportSingleClassLayout\u your-class-name\来获取有关问题类布局的信息


有关更多信息,请参阅:

LNK2022是一个很难确定的问题。这通常意味着影响结构布局的模块配置之一与其他模块不同

检查是否存在以下常见原因:

  • 确保所有项目对当前解决方案配置使用相同的运行库(/MDd或/MD)。如果一个项目正在使用Debug,而其他项目正在使用Release,或者反之亦然,则会出现LNK2022错误
  • 确保所有项目都使用相同的结构杆件对齐方式。如果一个项目使用/Zp开关,请特别注意。此外,请确保不要有条件地使用#pragma pack(n)
您可以使用/d1reportSingleClassLayout\u your-class-name\来获取有关问题类布局的信息


有关更多信息,请参见:

我发现,混合使用不同crt运行时版本编译的本机代码静态库的唯一方法是编写一个DLL,它充当库之间的桥梁。 例如:

your.exe-使用/MD和clr编译
yourbridge.dll-native,使用/MT编译,包括所有使用/MT构建的第三方lib。

我发现混合使用不同crt运行时版本编译的本机代码静态库的唯一方法是编写一个dll,该dll充当库之间的桥梁。 例如:

your.exe-使用/MD和clr编译
yourbridge.dll-本机,使用/MT编译,包括所有使用/MT构建的第三方lib。

几乎保证为/Zp或pragma pack。几乎保证为/Zp或pragma pack。