我收到链接器错误fatal error C1107: could not find assembly 'platform.winmd': please specify the assembly search path using /AI or by setting the LIBPATH environment variable
当我尝试在命令行上编译 C++/CX 程序时。
按照此页面上的说明进行操作后,错误是相同的:https://msdn.microsoft.com/en-us/library/dn769142.aspx https://msdn.microsoft.com/en-us/library/dn769142.aspx(总结一下:运行cl /ZW /EHsc source.cpp
来自VS2015 的开发人员命令提示符)
我也尝试过跑步vcvarsall.bat x86 store
来自VS2015 的开发人员命令提示符但我仍然遇到相同的错误(运行时也会发生相同的错误vcvarsall.bat x86 store
从简单的命令提示符)。
更新:显然这个错误已在 VS2015 Update 1 中修复,但我还无法测试自己。
事实证明,问题中提到的文档中缺少一些命令行参数,以下是编译小程序所需的完整命令行:
cl /ZW
/ZW:nostdlib
/D WINAPI_FAMILY=WINAPI_FAMILY_APP
/D __WRL_NO_DEFAULT_LIB__
/Gm-
/EHsc
/MDd
/FU"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\lib\store\references\platform.winmd"
/FU"C:\Program Files (x86)\Windows Kits\10\References\Windows.Foundation.FoundationContract\1.0.0.0\Windows.Foundation.FoundationContract.winmd"
/FU"C:\Program Files (x86)\Windows Kits\10\References\Windows.Foundation.UniversalApiContract\1.0.0.0\Windows.Foundation.UniversalApiContract.winmd"
smurf.cpp
/link /SUBSYSTEM:CONSOLE
Where smurf.cpp
包含:
using namespace Platform;
int main(Platform::Array<Platform::String^>^ args)
{
Platform::Details::Console::WriteLine("This is a C++/CX program.");
}
将成功打印:
C:\Users\Mikael>smurf.exe
This is a C++/CX program.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)