2012-01-04 18 views
6

Tôi nhận được thông báo này "Không thể sử dụng typeid với -fno-rtti" khi tôi đang cố gắng biên dịch dự án của mình, tôi đang sử dụng khung công tác opencv. Tôi googled vấn đề nhưng, có vẻ như các lỗi tôi tìm thấy trong internet không có mối quan hệ với vấn đề của tôi. Tôi không biết nếu vấn đề có liên quan với bao gồm, mã hoặc trình biên dịch.Lỗi: Không thể sử dụng typeid với -fno-rtti

Xcode là cho tôi những lỗi rất nhiều lần, nhưng lỗi đầu tiên là ở đây:

virtual const std::type_info& type() { return typeid(T); } 
+1

cho Android NDK: cppFlags + = "-frtti" –

Trả lời

6

Nó nói cho bạn quyền lỗi trong thông điệp: nếu bạn sử dụng no-rtti cờ trên trình biên dịch, sau đó typeid sẽ không khả dụng. Chỉ cần kích hoạt RTTI; đó là một phần của C++ sau tất cả.

+1

Tôi đã giải quyết việc kiểm tra này "GCC_ENABLE_CPP_RTTI = YES", cảm ơn bạn !!! – Gustavo

2

RTTI là viết tắt của Thông tin loại thời gian chạy và typeid là tính năng RTTI. Vì vậy, tắt RTTI (-fno-rtti) cũng sẽ tắt các tính năng như typeid.

Xem http://en.wikipedia.org/wiki/RTTI để biết thêm thông tin về RTTI trong C++.

Các vấn đề liên quan