我正在使用Windows Form App C ++。
我必须使用一些具有
HRESULT extern WINAPI StartUp ( DWORD dwVRequired, LPVERSION lpVersion);
我必须在Form1.h中执行此方法
private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e) {
APPVERSION version;
HRESULT result = APPStartUp(APP_VERSIONS, &version);
}
但是我收到这样的编译错误
错误1错误LNK2028:无法解析的令牌(0A000025)长“外部”“ C”
函数中引用的__stdcall APPStartUp(unsigned long,struct _version *)“(?WFSStartUp @@ $$ J18YGJKPAU_wfsversion @@@ Z)
“私有:void __clrcall MyAppPresenter :: Form1 :: Form1_Load(类
System :: Object ^,class System :: EventArgs ^)“
(?Form1_Load @ Form1 @ MyAppPresenter @@ $$ FA $ AAMXP $ AAVObject @ System @@ P $ AAVEventArgs @ 4 @@ Z)C:\ Projects \ MyAppPresenter \ MyAppPresenter \ MyAppPresenter.obj MyAppPresenter
我认为这与
MSVS2010 C++ Console Code Ported to MSVS2010 C++ GUI is Failing. Why?
但是怎么办呢?
任何线索如何解决?
最佳答案
我检查了控制台C ++项目,发现* .vsxproj具有
<ItemGroup>
<Library Include="C:\Program Files\Common Files\GCFApp\lib\msmanager.lib" />
</ItemGroup>
因此,我只是将此代码手动添加到Windows Form C ++项目文件中,现在它可以工作了。
无论如何,我不知道如何使用VS 2010的GUI添加它。
关于c++ - 在MFC C++ App中实现外部WINAPI调用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33654914/