我有以下代码:
namespace rm {
namespace lib {
class Object {
public:
Object() {printf("Hi\n");}
};
}
}
现在我想使用 g++ -Wall -Wno-unused -Werror -fPIC -g -Iinclude/-c -O0 -o object.o object.cpp
将类编译成共享库和 g++ --shared -o librm.so object.o
。编译没有问题,但是在使用 nm librm.so | 检查生成的库之后c++filt
, rm::lib::Object::Object()
无处可寻。即使启用了 -Wextra,GCC 也不会发出警告。
G++ 版本是 (Raspbian 4.9.2-10) 4.9.2
最佳答案
类中定义的代码被隐式标记为内联
(并且未被使用),因此不保存在文件中。
关于c++ - 未使用的类已删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34482524/