ОС: Ubuntu 14.04
SDK: Qt 5.5
library: «ion.h» [Я создал стороннюю библиотеку ion-dtn из источника, и в ней есть файл ion.h, который я использую в своих 2 проектах]
Я использую ion.h в своих 2 проектах в одной системе разработки. Оба проекта основаны на Qt. При включении ion.h Один проект запускается без каких-либо ошибок компиляции, другие жалуются на MAXPATHLEN.
/usr/local/include/ion.h:60: error: 'MAXPATHLEN' was not declared in this scope
char pathName[MAXPATHLEN + 1];.
На проекте, где он работает нормально, я могу нажать на ion.h и нашел MAXPATHLEN
выделен синим, очевидно, означает, что qt может найти его, и, нажав «следовать по символу», я нашел его объявленным в param.h в каталоге sys.
Я не могу сделать то же самое в моем другом проекте. При нажатии на ion.h MAXPATHLEN
находится в черном цвете и не может найти param.h, когда я нажимаю следовать под символом.
Я сравнил и мои .pro файлы одинаковы в обоих проектах. Может кто-то, пожалуйста, направьте меня, что я делаю не так.
Спасибо
MAXPATHLEN
объявлен в <sys/param.h>
, Один проект должен включать его (или другой заголовочный файл, включающий его … как <QDir>
например сложно сказать) а другой нет.
Просто включите <sys/param.h>
прежде чем включить ion.h
самостоятельно решить проблему.
Если вы действительно хотите выяснить, кто включает этот файл, а затем определить, почему MAXPATHLEN
определяется в одном проекте, для этого есть опции компилятора (например, /showIncludes
для g ++).
Других решений пока нет …