我有一个问题链接一个embedded式目标的应用程序。 我正在使用Min-GW在windows下运行一个在Linux下运行的ARM9目标。
其实我从静态链接切换到dynamic链接.so库以节省内存空间。
我收到错误消息
libT3Printer.so:对`__ASSERT'的未定义引用
我检查了lib的所有来源,我不知道这个函数可以调用的地方。 有没有可能找出谁(哪个源文件或函数)可能是缺less函数的调用者?
这个参考可能被一个宏隐藏了。 如果使用-E选项运行编译器以生成前驱输出,则可能有更好的机会追踪它。
尝试添加定义NDEBUG 。
在C中,用NDEBUG编译定义:
gcc -DNDEBUG foo.c
禁用所有对assert()的调用,并且这种行为在C ++中是相同的:
g++ -DNDEBUG foo.cpp