在我的项目(Visual Studio 2015 Update 1)中尝试使用Visual Codegen的新clang时,我收到了以下错误:
clang.exe : error : cannot specify -o when generating multiple output files
这只是一个新创建的自动生成的项目。
我真的不知道该怎么做。
任何帮助表示感谢。
答案 0 :(得分:6)
目前还不是很清楚你在做什么,但很明显你没有在Cross Platform节点中使用其中一个Clang项目模板。我可以使用Win32>重新解决您的问题Win32项目模板并将项目的平台工具集选择更改为" Clang 3.7"。
这不起作用,它完全淹没了预编译的标题功能。它以某种方式确信它需要编译stdafx.h。不只是一次,它将编译器传递两次。这使得Clang barf出现此错误消息,它一次只能接受一个文件。它也不知道如何利用Clang的PCH支持,没有所需的-emit-pch选项的迹象。
您需要关闭此功能才能获得成功。项目>属性> C / C ++>预编译标题>预编译标题="不使用..."。选择stdafx.cpp并重复。
这解决了构建问题,最终的可执行文件有点令人惊讶的运行没有问题。在一个从未经过Microsoft测试的场景中使用Clang应该有点清楚。看起来IntelliSense解析器还需要更多的工作。 Afaik Clang支持was intended以Android和iOS为目标,当前版本为alpha质量。
答案 1 :(得分:1)
作为对已接受答案的补充,如果您在设置Precompiled Header = "Not using..."
后仍然遇到此问题。另一个问题可能是Object File Name
字段中的值不正确。
该字段可在以下位置找到:项目>属性> C / C ++>一般>对象文件名= $(IntDir)%(filename).obj
注意:最初在此处发现此解决方案:http://www.progtown.com/topic2009949-clang