我想/ 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错误:
删除路径目录中的空格。