ant*_*r89 4 c++ linux debugging eclipse-cdt
我在 Linux C++ 上遇到 _DEBUG 宏问题。我尝试使用这样的东西:
#ifdef _DEBUG
cout << "Debug!" << endl;
#endif
Run Code Online (Sandbox Code Playgroud)
但是当我在IDE中选择“调试”时,它不起作用。然而它在 Windows 上运行。我在 Linux 上使用 Eclipse IDE 进行 C++ 编码。
小智 6
在 Windows 上,您可能使用 Visual Studio,它在调试模式下构建解决方案时自动定义_DEBUG符号。符号通常在调用编译器时定义,然后在预处理器阶段使用它们。
例如,如果您通过命令行使用 GCC,并且由于正在处理已建立的代码库而希望重复使用 _DEBUG 符号,则可以通过命令行使用-D参数来定义它。
#include <iostream>
int main() {
std::cout << "Hello world!\n";
#ifdef _DEBUG
std::cout << "But also Hello Stack Overflow!\n";
#endif
return 0;
}
Run Code Online (Sandbox Code Playgroud)
使用以下命令行编译它
g++ -D _DEBUG define.cpp
Run Code Online (Sandbox Code Playgroud)
将给出以下结果
Hello world!
But also Hello Stack Overflow!
Run Code Online (Sandbox Code Playgroud)
然而,对于 eclipse cdt,您最好的选择可能是修改项目属性中的路径和符号属性。