C# “如何编译/clr”;servprov.h";(IServiceProvider)
我想/clr编译一个需要“servprov.h”(IServiceProvider)的项目 我面对这个错误: 错误2错误C2872:“IServiceProvider”:不明确的符号116 这是代码的一部分:C# “如何编译/clr”;servprov.h";(IServiceProvider),c#,c++-cli,C#,C++ Cli,我想/clr编译一个需要“servprov.h”(IServiceProvider)的项目 我面对这个错误: 错误2错误C2872:“IServiceProvider”:不明确的符号116 这是代码的一部分: #ifndef __IServiceProvider_FWD_DEFINED__ #define __IServiceProvider_FWD_DEFINED__ typedef interface IServiceProvider IServiceProvider; typedef i
#ifndef __IServiceProvider_FWD_DEFINED__
#define __IServiceProvider_FWD_DEFINED__
typedef interface IServiceProvider IServiceProvider;
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;
我又犯了一个错误:(在代码的这一部分:
#ifndef __IServiceProvider_FWD_DEFINED__
#define __IServiceProvider_FWD_DEFINED__
typedef interface IServiceProvider IServiceProvider;
typedef interface ::IServiceProvider IServiceProvider;
错误2错误C2371:“IServiceProvider”:重新定义;不同
基本类型99
3-我把它变成:
typedef /* [unique] */ __RPC_unique_pointer System::IServiceProvider ^ LPSERVICEPROVIDER;
类型定义接口::IServiceProvider IServiceProvider2
现在我有一个错误:
错误3错误LNK2028:未解析的令牌(0A0001CA)“公共:\此调用
cComponentManager::~cComponentManager(无效)”
(??1组件管理器@@$$FQAE@XZ)在函数“public:void”中引用
*_uuthiscall cComponentManager::`scalar deleting destructor'(unsigned int)
(??\GCU组件管理器@@$$FQAEPAXI@Z)C:..\OpenSmileCLI\OpenSmileCLI\OpenSmileCLI.obj
错误67错误LNK2001:未解析的外部符号“公共:虚拟”
void uu此调用ConfigValueObj::copyFrom(类ConfigValue常量*)
(?copyFrom@ConfigValueObj@@UAEXPBVConfigValue@@@Z)C:…\OpenSmileCLI\OpenSmileCLI\OpenSmileCLI.obj
我的更改正确吗?
我该怎么办
OpenSmileLibrary使用的“servprov.h”
我想在C#和openSmileLibrary之间创建CLI
解决方案:
我将调试模式更改为release(导致OpenSmileLibrary),并在#include“servprov.h”
之后更改使用系统的位置
对于LNK错误:
删除路径目录中的空间。糟糕,不要编辑SDK头文件,这是一个非常糟糕的主意。基本问题是在#include之前有
使用名称空间系统;
,这使得它不明确。链接错误是由于忘记链接笑脸造成的。lib@HansPassant:tnx,我链接了所有.lib文件(与OpenSmileLibrary相关)对于我的解决方案,但我仍然有132个外部错误,如LNK2028和LNK2001。糟糕,不要编辑SDK头文件,这是一个非常糟糕的主意。基本问题是,在#include之前有使用名称空间系统;
,这使得它不明确。链接错误是由于忘记链接笑脸造成的。lib@HansPassant:tnx,我链接了所有.lib文件(与OpenSmileLibrary相关)对于我的解决方案,但我仍然有132个外部错误,如LNK2028和LNK2001。糟糕,不要编辑SDK头文件,这是一个非常糟糕的主意。基本问题是,在#include之前有使用名称空间系统;
,这使得它不明确。链接错误是由于忘记链接笑脸造成的。lib@HansPassant:tnx,我链接了所有.lib文件(与OpenSmileLibrary相关)添加到我的解决方案中,但我仍然有132个外部错误,如LNK2028和LNK2001。