我有一个在 Linux 中构建没有问题的应用程序,现在我正在尝试针对 Windows 编译它,我创建了一个 .pro 文件专门用于在 Windows 中编译它。
我使用了一个伪类(只是一个带有大量方法的命名空间,但没有类语句,因此我可以在不创建对象的情况下使用它)在 Linux 中工作得很好,但是当我尝试针对 Windows 进行编译时,我得到一个'使用此伪类的所有代码中未解析的外部符号。
伪类是这样的:
namespace foo {
bool method_bar();
}
然后我像这样使用它:
foo:method_bar();
非常简单,有点像静态方法。
在有人问我之前,为什么不首先使用静态方法?我有一些特殊情况,我不能将这些方法用作静态方法。这就是为什么我直接在命名空间下构建方法。
因此,在我的 .PRO 文件中,我从我的伪类中添加了 .h 和 .cpp 文件,如下所示:
HEADERS += \
....
include/foo.h
....
SOURCES += \
....
include/foo.cpp
----
尽管它在我的项目中包含这些文件,但它抛出了 LNK2019: unresolved external symbol 错误。
我不是编程的初学者,但我是 Qt 的初学者。
任何帮助将不胜感激。
ps:原谅我的英文错误。