make rule_cache noncopyable
QtWidgets is not available in latest release
fix viewer compile
merge