我正在使用 eclipse 并在我的 c/c++ 代码中不断收到对 `__assert_func' 错误的未定义引用。
我想知道是否有办法告诉正在定义什么(#define * *)。我可以手动浏览我的文件,但我正在处理很多文件,这需要一段时间。是否有编译器选项或工具可以为我列出这些?
谢谢,
山姆
我正在使用 eclipse 并在我的 c/c++ 代码中不断收到对 `__assert_func' 错误的未定义引用。
我想知道是否有办法告诉正在定义什么(#define * *)。我可以手动浏览我的文件,但我正在处理很多文件,这需要一段时间。是否有编译器选项或工具可以为我列出这些?
谢谢,
山姆
这取决于编译器。如果您正在运行 GCC,您可以阅读此内容。
#define
未定义的引用与s无关。这是一个链接器错误,您可能忘记链接到 .lib/.a 文件。
您通常可以从编译器生成预处理器输出 - 例如g++ -E myprog.cpp > myprog.i
. 我认为CL -E
在 Visual Studio 中做同样的事情,其他编译器往往有类似的选项。
听起来您缺少的功能确实是 a ASSERT
orassert
宏的一部分。