<bdo id='vty9J'></bdo><ul id='vty9J'></ul>
    1. <legend id='vty9J'><style id='vty9J'><dir id='vty9J'><q id='vty9J'></q></dir></style></legend>
    2. <tfoot id='vty9J'></tfoot>
      <i id='vty9J'><tr id='vty9J'><dt id='vty9J'><q id='vty9J'><span id='vty9J'><b id='vty9J'><form id='vty9J'><ins id='vty9J'></ins><ul id='vty9J'></ul><sub id='vty9J'></sub></form><legend id='vty9J'></legend><bdo id='vty9J'><pre id='vty9J'><center id='vty9J'></center></pre></bdo></b><th id='vty9J'></th></span></q></dt></tr></i><div id='vty9J'><tfoot id='vty9J'></tfoot><dl id='vty9J'><fieldset id='vty9J'></fieldset></dl></div>

      <small id='vty9J'></small><noframes id='vty9J'>

        添加包含保护会破坏构建

        Adding an include guard breaks the build(添加包含保护会破坏构建)
      1. <i id='5ss8Z'><tr id='5ss8Z'><dt id='5ss8Z'><q id='5ss8Z'><span id='5ss8Z'><b id='5ss8Z'><form id='5ss8Z'><ins id='5ss8Z'></ins><ul id='5ss8Z'></ul><sub id='5ss8Z'></sub></form><legend id='5ss8Z'></legend><bdo id='5ss8Z'><pre id='5ss8Z'><center id='5ss8Z'></center></pre></bdo></b><th id='5ss8Z'></th></span></q></dt></tr></i><div id='5ss8Z'><tfoot id='5ss8Z'></tfoot><dl id='5ss8Z'><fieldset id='5ss8Z'></fieldset></dl></div>

            <small id='5ss8Z'></small><noframes id='5ss8Z'>

          1. <legend id='5ss8Z'><style id='5ss8Z'><dir id='5ss8Z'><q id='5ss8Z'></q></dir></style></legend>
                <bdo id='5ss8Z'></bdo><ul id='5ss8Z'></ul>

                    <tbody id='5ss8Z'></tbody>

                  <tfoot id='5ss8Z'></tfoot>
                  本文介绍了添加包含保护会破坏构建的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我将#ifndef..#define..#endif 添加到我的项目文件中,但编译器失败.一旦我删除它或在定义中放置任何其他名称,它就可以正常编译.可能是什么问题呢?

                  I added #ifndef..#define..#endif to a file of my project and the compiler fails. As soon as I remove it or put any other name in the define it compiles fine. What could be the problem?

                  听起来文件已经声明了,但我不知道在哪里.我可以删除它,但我真的很想知道为什么会这样.

                  Sounds like the file is already declared, but I do not know where. I'm fine just removing it, but I really want to know why this is happening.

                  error: expected class-name before ‘{’ token
                  error: ‘QDesignerFormEditorInterface’ has not been declared
                  

                  还有一些其他错误.

                  我实际上使用的是 Qt 中的一个示例,自定义小部件插件示例".

                  I am actually using an example from Qt, "Custom Widget Plugin Example".

                  不同之处在于我将自己的类用于自定义小部件(.h、.cpp 和 .ui 文件).

                  The difference is I am using my own class for the custom widget (.h, .cpp and .ui file).

                  它可能与包含 2 个包含的文件有关,尽管示例就是这样做的.

                  It might have to do with the file that has 2 includes, though that is how the example did it.

                  推荐答案

                  此宏是否用作 包含保护?如果是这样,听起来您是在复制其他地方使用的名称.当人们不考虑包含保护必须具有的范围时,这是一个常见问题——您应该在其中包含更多信息,而不仅仅是文件名.

                  Is this macro used as an include guard? If so, it sounds like you're duplicating a name used elsewhere. This is a common problem when people don't think about the scope an include guard must have—you should include much more information in it than just the file name.

                  包括后卫进球:

                  • 在创建标题时生成一次
                  • 再也不用想了
                  • 重复的机会小于您中奖的机会

                  错误的包含保护名称(对于文件config.h"):

                  Bad include guard names (for file "config.h"):

                  • CONFIG_H
                    • 太笼统了
                    • 所有保留,还有很多一般
                    • all reserved, still much too general
                    • 更好,不太可能在不相关的项目中重复
                    • 但仍然没有路径信息,容易在大型项目中复制

                    好的包含保护名称(对于文件config.h"):

                    Good include guard names (for file "config.h"):

                    • PATE_20091116_142045
                      • 那是<姓氏>_<日期>_<时间>
                      • 甚至不需要项目、路径、文件名信息
                      • 易于打字
                        • 如果您的编辑器具有插入日期功能,您可以非常快速地输入"它
                        • 生成时包含一个序列号,如果你需要每秒生成一个以上
                        • 从实际的UUID生成
                          • 具有普遍独特性的有力保证

                          这篇关于添加包含保护会破坏构建的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                          本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  Is Type(::x); valid?(是类型(::x);有效的?)
                  Difference between an inline function and static inline function(内联函数和静态内联函数的区别)
                  Compilation fails randomly: quot;cannot open program databasequot;(编译随机失败:“无法打开程序数据库)
                  Too many initializers error for a simple array in bcc32(bcc32 中的简单数组的初始值设定项过多错误)
                  No Member named stoi in namespace std(命名空间 std 中没有名为 stoi 的成员)
                  Error using a constexpr as a template parameter within the same class(在同一个类中使用 constexpr 作为模板参数时出错)
                  1. <legend id='NvnYY'><style id='NvnYY'><dir id='NvnYY'><q id='NvnYY'></q></dir></style></legend>
                    <i id='NvnYY'><tr id='NvnYY'><dt id='NvnYY'><q id='NvnYY'><span id='NvnYY'><b id='NvnYY'><form id='NvnYY'><ins id='NvnYY'></ins><ul id='NvnYY'></ul><sub id='NvnYY'></sub></form><legend id='NvnYY'></legend><bdo id='NvnYY'><pre id='NvnYY'><center id='NvnYY'></center></pre></bdo></b><th id='NvnYY'></th></span></q></dt></tr></i><div id='NvnYY'><tfoot id='NvnYY'></tfoot><dl id='NvnYY'><fieldset id='NvnYY'></fieldset></dl></div>

                      <bdo id='NvnYY'></bdo><ul id='NvnYY'></ul>

                          <tbody id='NvnYY'></tbody>

                          <small id='NvnYY'></small><noframes id='NvnYY'>

                          <tfoot id='NvnYY'></tfoot>