有没有办法列出由#define在c / c ++中定义的符号

时间:2013-01-20 00:10:09

标签: c++ c eclipse compiler-errors debug-symbols

我正在使用eclipse并继续在我的c / c ++代码中获得对“__assert_func”错误的未定义引用。

我想知道是否有办法告诉正在定义的内容(#define * *)。我可以手动浏览我的文件,但我正在处理很多这些文件,这需要一段时间。是否有编译器选项或工具可以为我列出这些?

谢谢,

萨姆

3 个答案:

答案 0 :(得分:3)

这取决于编译器。如果您正在运行GCC,可以阅读此内容。

GCC dump preprocessor defines

答案 1 :(得分:1)

未定义的引用与#define无关。这是一个链接器错误,您可能忘记链接.lib / .a文件。

答案 2 :(得分:1)

您通常可以从编译器生成预处理器输出 - 例如g++ -E myprog.cpp > myprog.i。我认为CL -E在Visual Studio中做同样的事情,而其他编译器往往有类似的选择。

听起来您的遗失功能是ASSERTassert宏的一部分。