Кажется, у меня странная проблема:
Я кодировал приложение на C ++ (используя Eclipse CDT), которое использует службы безопасности Netword 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
Строка 85 в secmodt.h
выглядит следующим образом:
PK11SlotInfo **slots; /* array of slot points attached to this mod*/
ИPK11SlotInfo
is typedef'd в secmodt.h
:
typedef struct PK11SlotInfoStr PK11SlotInfo; /* defined in secmodti.h */
Однако мне не удалось обнаружить secmodti.h
в моей системе (однако исходная программа скомпилирована и выполнена просто отлично).
Кто-нибудь испытывал подобные проблемы и решал их?