C++编译生成

问题描述:

我注意到,当我选择C++编译生成

Project Properties -> Configuration Properties -> c/c++ -> Preprocessor -> 
    Generate Proprocessed file -> With Line Numbers (/P) 

(和产生预处理文件其他选项),则不创建对象文件,所以生成失败预处理输出(VS 08)之后。这就像右手不知道左边是干什么的,所以有一个错误:

LINK : fatal error LNK1104: cannot open file '.\Debug\globals.obj'

这让我觉得,这可能是一个目标文件可以使用命令行/P创建的情况下。可能吗?我可以用\P获得目标文件吗?我读了一些我不能,但我想把它放到堆栈溢出社区。

+0

你应该能够喂预处理的.i文件到直接cl.exe。预处理的C++源文件仍然是有效的C++源文件。您是否尝试将.i文件添加到项目并将其配置为C++源文件? – 2011-02-04 01:49:24

+0

@Mr。麦克奈利斯,我宁愿不做两步。我希望IDE能够创建预处理输出,然后正常编译项目。在发现Alt + Enter很快让我进入项目属性后,这不是什么大不了的事情,它并没有像往常一样糟糕。谢谢。 – 2011-02-04 17:05:47

/P开关的定义是:Preprocess without compiling or linking

因此,它看起来并不像你想做的事情。 (这并不奇怪,从/ P的输出往往是相当大的,我怀疑大多数人会希望它生成每一个版本。)