如何/ clr编译" servprov.h" (的IServiceProvider)

时间:2015-06-01 20:47:21

标签: c# c++-cli

我想/ clr编译一个需要" servprov.h"的项目。 (的IServiceProvider)

我遇到了这个错误:

  

错误2错误C2872:' IServiceProvider' :模棱两可的符号116

它是代码的一部分:

#ifndef __IServiceProvider_FWD_DEFINED__
#define __IServiceProvider_FWD_DEFINED__
typedef interface IServiceProvider IServiceProvider;

1-我将所有IServiceProvider更改为::IServiceProvider

在这一部分

typedef /* [unique] */  __RPC_unique_pointer ::IServiceProvider *LPSERVICEPROVIDER;

我遇到了这个错误:

  

错误1错误C3699:' *' :不能在类型上使用此间接   '系统:: IServiceProvider的' 92

2-我将其更改为:

typedef /* [unique] */  __RPC_unique_pointer System::IServiceProvider ^ LPSERVICEPROVIDER;

我又有错误:(在这部分代码:

typedef interface ::IServiceProvider IServiceProvider;
  

错误2错误C2371:' IServiceProvider' :重新定义;不同   基本类型99

3-我把它变成了:

typedef interface :: IServiceProvider IServiceProvider2;

现在我有这个错误:

  

错误3错误LNK2028:未解析的令牌(0A0001CA)" public:__ thishisall   cComponentManager ::〜cComponentManager(无效)"   (?? 1cComponentManager @@ $$ FQAE @ XZ)在函数" public:void中引用   * __thiscall cComponentManager ::`标量删除析构函数'(unsigned int)"   (?? _ GcComponentManager @@ $$ FQAEPAXI @ Z)C:.... \ OpenSmileCLI \ OpenSmileCLI \ OpenSmileCLI.obj

     

错误67错误LNK2001:未解析的外部符号" public:virtual   void __thiscall ConfigValueObj :: copyFrom(class ConfigValue const *)"   (?copyFrom @ ConfigValueObj @@ UAEXPBVConfigValue @@@ Z)C:... \ OpenSmileCLI \ OpenSmileCLI \ OpenSmileCLI.obj

我改变了吗? 我应该怎么做?

" servprov.h"由OpenSmileLibrary使用  我想在C#和openSmileLibrary之间创建CLI!

溶液:

我将调试模式更改为release(OpenSmileLibrary的原因)并在#include "servprov.h"之后更改使用System的位置。

表示LNK错误:

删除路径目录中的空格。

0 个答案:

没有答案