Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/146.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何在编译过程中遵循预处理器指令_C++_Visual Studio_Preprocessor_Compiler Directives - Fatal编程技术网

C++ 如何在编译过程中遵循预处理器指令

C++ 如何在编译过程中遵循预处理器指令,c++,visual-studio,preprocessor,compiler-directives,C++,Visual Studio,Preprocessor,Compiler Directives,我正在使用一个程序,充满编译器指令,在VisualStudio中编程 我做了一些更改,现在遇到了一个未解决的外部编译器/链接器错误 我相信这是由编译器指令造成的,这些指令似乎没有检测到特定函数的实现,为了研究这一点,我想在整个编译过程中遵循#ifdef编译器指令 我已经尝试过使用/p配置,但是在输出窗口中没有看到任何编译器指令 有人知道怎么做吗?我认为您使用/p选项的方法是正确的,但是该选项说明输出将进入扩展名为.I的文件(因此可能不会进入您的输出窗口) 此外,您还可以通过生成映射文件来查找有关

我正在使用一个程序,充满编译器指令,在VisualStudio中编程

我做了一些更改,现在遇到了一个未解决的外部编译器/链接器错误

我相信这是由编译器指令造成的,这些指令似乎没有检测到特定函数的实现,为了研究这一点,我想在整个编译过程中遵循
#ifdef
编译器指令

我已经尝试过使用
/p
配置,但是在
输出
窗口中没有看到任何编译器指令


有人知道怎么做吗?

我认为您使用
/p
选项的方法是正确的,但是该选项说明输出将进入扩展名为
.I
的文件(因此可能不会进入您的输出窗口)


此外,您还可以通过生成映射文件来查找有关任何链接器错误的帮助;请参阅。

Visual Studio应该灰显被宏禁用的代码块,不是吗?确实如此,但这仅在静态编译器指令的情况下才有用,但在我的情况下,有时它们从定义开始,然后取消定义,然后再重新定义,…,我在其中失去了自己(因此很可能是未解决的外部问题),我希望预处理器的编译输出能告诉我发生了什么。谢谢,@Phil,但它似乎不起作用:我没有*.I文件,也没有其他东西,即使在设置了
/map
设置之后。输出窗口是否显示正在执行的编译器命令?可能有一些线索表明为什么要执行这些文件没有生成。我只是尝试在一个简单的控制台应用程序上启用
/P
选项并生成了。
.I
文件位于生成输出目录中(例如,在我的例子中是
Debug
)。链接失败是一个副作用(因此,在解决编译器/预处理器问题后,您将在那里解决问题)。谢谢,我找到了
*。我
文件,我找错了目录。