首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Qt中的非类方法(使用qtcreator )无法解析外部符号

Qt中的非类方法(使用qtcreator )无法解析外部符号
EN

Stack Overflow用户
提问于 2012-10-16 22:23:17
回答 1查看 320关注 0票数 1

我有一个在Linux下构建的没有问题的应用程序,现在我正在尝试在Windows上编译它,我创建了一个专门用于在windows下编译它的.pro文件。

我使用了一个伪类(只是一个带有大量方法的命名空间,但没有class语句,这样我就可以在不创建对象的情况下使用它),但当我尝试在windows上编译时,在使用这个伪类的所有代码中都会得到一个‘未解析的外部符号’。

伪类是这样的:

代码语言:javascript
复制
namespace foo {
   bool method_bar();
}

然后我像这样使用它:

代码语言:javascript
复制
foo:method_bar(); 

非常简单,有点像静态方法。

在有人问我为什么不首先使用静态方法之前,我有一些特殊的情况,在这些情况下我不能将这些方法用作静态方法。这就是为什么我直接在名称空间下构建方法的原因。

因此,在我的.PRO文件中,我添加了来自伪类的.h和.cpp文件,如下所示:

代码语言:javascript
复制
 HEADERS += \
       ....
       include/foo.h
       ....


    SOURCES += \
       ....
       include/foo.cpp
       ----

尽管它包含了我的项目中的文件,但它抛出了LNK2019: unresolved symbol错误。

我不是编程的初学者,但我是Qt的初学者。

任何帮助都将深表感谢。

附言:请原谅我的英语错误。

EN

回答 1

Stack Overflow用户

发布于 2012-10-17 02:31:07

首先,作用域运算符是foo"::"method_bar();

确保在使用函数之前包含标头,以便调用此函数的位置知道该函数的声明

在QT中使用命名空间是没有问题的。

另一个建议是

使用命名空间foo;

查看完整的代码将真正帮助我解决这个问题

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12916860

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档