Неиспользуемые классы удалены

У меня есть следующий код:

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() нигде не найти GCC не выдает никаких предупреждений, даже если включена опция -Wextra.

Версия G ++ (Raspbian 4.9.2-10) 4.9.2

1

Решение

Код, определенный в классе, неявно помечается как inline (и не используется), и поэтому не сохраняется в файл.

5

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]