c++ - 未使用的类已删除

标签 c++ gcc g++4.9

我有以下代码:

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/

相关文章:

c - GCC 内置的原子集是什么?

c - 我想以编程方式记录系统调用

python - 在 Centos 中使用 pip 安装加密 python 库时出错

c++ - 从 constexpr 函数返回一个类需要使用 g++ 的 virtual 关键字

c++ - 使用标准库用 strtok 替换循环

c++ - 使用CPPCHECK的Red Hat Enterprise Linux(RHEL)上的C++宏问题

c++ - 在 C++ 中以优化方式计算 0<=x<=1 和 1<y<2 的 pow(x,y)

c++ - 对这个声明感到困惑 - int (*(*foo)(double))[3]

c++ - 我如何在 Linux 中显示堆栈跟踪?

c++ - g++ 4.9.2 回归传递引用 'this'