【发布时间】:2011-09-03 10:25:33
【问题描述】:
我好像遇到了一个奇怪的问题:
我用 C++(使用 Eclipse CDT)编写了一个使用 Mozilla 的网络安全服务的应用程序。这个应用程序运行良好,所以我想我可以将适当的类/标题/源移动到另一个项目(这通常可以做到吗?)。原始项目使用了一些位于/usr/include/nspr 和libnss3 中的附加标头。
这个其他项目是使用 CMake 编译的。所以我告诉 CMake 将/usr/include/nspr 添加到包含路径并使用libnss3。但是,当我尝试在这个其他项目中使用这些类时,编译时出现以下错误:
In file included from some-dir/src/import/FirefoxImporter.h:21:0,
from some-dir/src/import/Import_Firefox.h:26,
from some-dir/src/mainwindow.cpp:28:
/usr/include/nss/secmodt.h:85:25: error: expected unqualified-id before ‘;’ token
secmodt.h 中的第 85 行如下所示:
PK11SlotInfo **slots; /* array of slot points attached to this mod*/
而PK11SlotInfo 是在secmodt.h 中定义的:
typedef struct PK11SlotInfoStr PK11SlotInfo; /* defined in secmodti.h */
但是,我无法在我的系统上找到secmodti.h(但是,原始程序编译并执行得很好)。
有没有人遇到过类似的问题并解决了?
【问题讨论】: