在 MFC C++ App 中实现外部 WINAPI 调用
Posted
技术标签:
【中文标题】在 MFC C++ App 中实现外部 WINAPI 调用【英文标题】:Implementing extern WINAPI call in MFC C++ App 【发布时间】:2015-11-11 16:16:40 【问题描述】:我正在使用 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) "extern "C" long __stdcall APPStartUp(unsigned long,struct _version *)" (?WFSStartUp@@$$J18YGJKPAU_wfsversion@@@Z) 在函数中引用 “私人:无效__clrcall MyAppPresenter::Form1::Form1_Load(类 System::Object ^,类 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?
但是怎么做呢? 任何线索如何解决?
【问题讨论】:
你需要链接库(.lib
文件),其中实现了未解析的功能。
What is an undefined reference/unresolved external symbol error and how do I fix it?的可能重复
【参考方案1】:
查看了控制台C++项目,发现*.vsxproj有
<ItemGroup>
<Library Include="C:\Program Files\Common Files\GCFApp\lib\msmanager.lib" />
</ItemGroup>
所以我只是手动将此代码添加到 Windows Form C++ 项目文件中,现在它可以工作了。
无论如何,我不知道如何使用 VS 2010 的 GUI 添加它。
【讨论】:
以上是关于在 MFC C++ App 中实现外部 WINAPI 调用的主要内容,如果未能解决你的问题,请参考以下文章