小编Ale*_*lex的帖子

c ++派生类型的自动工厂注册

像我之前的许多人一样,我正在努力让我的派生类型自动注册到我的工厂.我读了很多问题,并试着把注意力集中在我没有找到的地方.

除了自动注册外,我的一切运行都很顺利.

我的目标:

  1. 自动注册我的基类Base的任何派生类
    1. 只有我标记为可注册的
    2. 不仅是Base的直接子类
      • 例如:基地 - >设备 - >摄像头 - > 网络摄像头
      • 这将使得使用像这个问题中描述的CRTP一样困难
  2. 我想要注册的类的最小变化 - 假人证明
  3. 宁愿使用registrator类而不是宏

是)我有的:

template <class T>
class abstract_factory
{
    public:
        template < typename Tsub > static void register_class();
        static T* create( const std::string& name );
    private:
        // allocator<T> is a helper class to create a pointer of correct type
        static std::map<std::string, boost::shared_ptr<allocator<T> > > s_map;
}; …
Run Code Online (Sandbox Code Playgroud)

c++ templates static-methods factory-pattern

16
推荐指数
2
解决办法
2万
查看次数

qtcreator cmake"没有指定可执行文件"

我对qtcreator和cmake项目有一个非常烦人的问题:qtcreator无法找到可执行文件.它只是在尝试从IDE启动任何可执行文件时打印"未指定可执行文件".配置项目后,一切正常(仅限第一次).在之后加载项目时会出现问题.只有解决方法是在每次使用之前删除"CMakeLists.txt.user".这是乏味且不必要的.

这种情况发生在运行ubuntu 14.04和14.10的多台计算机上,这些项目运行得很好,包括我自己和我的同事.从ubuntu 14.04以上的qtcreator版本3及更高版本开始出现问题.

假设问题是由"CMakeLists.txt.user"中的某些更改触发的,在项目第一次关闭后,我在第一次创建文件后立即将文件替换为副本.这有效,从而确认文件本身有问题,或者更改它会触发qt-creator中的现有错误.不幸的是,它与删除文件一样乏味.

我的挑战: 不幸的是我不熟悉qtcreaor的内部工作方式,但我设法确定了负责的具体配置行.qtcreator在这里实际改变了什么?

在此输入图像描述

请注意,"racoon"是项目名称,上面的diff屏幕截图远大于stackoverflow格式化(右键单击以查看完整分辨率).

谢谢.

cmake qt-creator ubuntu-14.04 ubuntu-14.10

5
推荐指数
1
解决办法
7068
查看次数