Visual studio 2012 Visual Studio 2012未记录警告C4447 dllmain.cpp(16):警告C4447:未在线程模式下找到“main”签名 L考虑使用“int main(平台::数组^ ARGS)”。
上面是我从构建Windows应用商店应用程序DLL项目中得到的警告。在默认的dllmain.cpp文件中,除了包含我自己版本的pch之外,我没有做任何更改 MSDN上找不到此警告的文档(以及许多VS2012错误/警告),以下是我能找到的唯一相关链接: 那里的op没有得到答案Visual studio 2012 Visual Studio 2012未记录警告C4447 dllmain.cpp(16):警告C4447:未在线程模式下找到“main”签名 L考虑使用“int main(平台::数组^ ARGS)”。,visual-studio-2012,windows-runtime,warnings,Visual Studio 2012,Windows Runtime,Warnings,上面是我从构建Windows应用商店应用程序DLL项目中得到的警告。在默认的dllmain.cpp文件中,除了包含我自己版本的pch之外,我没有做任何更改 MSDN上找不到此警告的文档(以及许多VS2012错误/警告),以下是我能找到的唯一相关链接: 那里的op没有得到答案 如果有人知道这意味着什么以及如何修复它,那就太好了 据我所知,你完全可以忽略这个警告。当编译器看到正在使用/ZW标志(使用Windows运行时扩展)编译Win32样式的DllMain时,它会跳转。但是,函数的调用与您通常期
如果有人知道这意味着什么以及如何修复它,那就太好了 据我所知,你完全可以忽略这个警告。当编译器看到正在使用
/ZW
标志(使用Windows运行时扩展)编译Win32样式的DllMain
时,它会跳转。但是,函数的调用与您通常期望的一样
或者,您可以通过编译dllmain.cpp
而不使用/ZW
来解决警告问题。您可能需要调整PCH设置以使其正常工作。这是Visual Studio中DLL(Windows应用商店应用程序)C++/CX项目模板所采用的路径
顺便说一句,当您试图构建Windows运行时组件项目(它使用
/ZW
构建所有内容)时,没有收到警告的原因是Windows运行时组件没有声明DllMain
。这并不是说它不能;它只拾取CRT定义的虚拟DllMain
(基本上关闭每个线程初始化并报告成功)。考虑在不使用/ZW
标志的情况下构建DllMain.cpp。谢谢。这是个好答案。如果你想把它作为一个答案,我可以投票认为它是正确的。
dllmain.cpp(16): warning C4447: 'main' signature found without threading mode
l. Consider using 'int main(Platform::Array<Platform::String^>^ args)'.