C++ 在'之前需要类型说明符;QSslSocket';在QT应用中
我对Qt还是相当陌生,但我想写一个程序,允许用户通过电子邮件发送一条小消息 当我开始构建我的项目时,我会遇到如下错误C++ 在'之前需要类型说明符;QSslSocket';在QT应用中,c++,qt,email,C++,Qt,Email,我对Qt还是相当陌生,但我想写一个程序,允许用户通过电子邮件发送一条小消息 当我开始构建我的项目时,我会遇到如下错误 此作用域中未声明“QSslSocket”之前的预期类型说明符和“QSslSocket”。当我试图编译代码和从git编译演示时,我都会得到这些,所以我认为它不在我的代码中 研究这个问题,我发现大多数解决方案都涉及确保机器上安装了openssl,并且Qt是使用配置中设置的openssl标志构建的。我已经确保安装了openssl和libssl dev,并且刚刚使用openssl标志重新
此作用域中未声明“QSslSocket”之前的预期类型说明符
和“QSslSocket”。当我试图编译代码和从git编译演示时,我都会得到这些,所以我认为它不在我的代码中
研究这个问题,我发现大多数解决方案都涉及确保机器上安装了openssl,并且Qt是使用配置中设置的openssl标志构建的。我已经确保安装了openssl和libssl dev,并且刚刚使用openssl标志重新构建了我的Qt版本。还是不走运
在我的项目中,我在.pro文件中添加了QT+=core network
。我在需要它的*.h文件中包含了
至于我的系统,我正在使用Ubuntu 14.04 LTS。我已经安装了Qt4.8.6(配置文件中还包括-openssl)。Openssl和libssl dev的版本都是1.0.1f-1ubuntu2.11
如果您有任何想法,他们将不胜感激 最终,这取决于我的配置。我从计算机上完全删除了Qt4的所有版本
sudo make uninstall
(因为我是从tarball安装的,而不是从存储库安装的),我使用make confclean
清理了配置文件,我使用/configure-openssl
重新构建了配置,然后是make
,最后是sudo-make-install
。我认为之前的问题是我没有首先清理配置文件。我为嵌入式Linux安装了一个版本,可能是因为我后来安装了-openssl
标志,所以我在该版本中应用了该标志。对于#include
和#include
工作记录,至少在我的Qt版本(4.8.6)中是这样。正确的包含行(可以在文档中找到)是#include
。另外,在将network
添加到.pro文件后是否重新运行了qmake?我所构建的项目最初使用了\include
行。我再次尝试使用#include
,但仍然得到QSslSocket未命名类型的错误。在第二部分,我使用QtCreator并点击build。我假设它正在运行qmake作为其流程的一部分。不是吗?我已经通过这种方式成功地构建和运行了项目,只是没有涉及ssl的项目。如果您手动打开.pro文件,您必须右键单击该项目并单击“run qmake”。可能存在重复的。有趣的是,他们也在使用Qt。您可能可以删除以“查看此问题,我发现大多数解决方案都涉及确保openssl…”开头的段落。这与您描述的问题无关。