2015-12-21 4 views
0

Компиляция не выполняется из-за отсутствия стандартных файлов Qt/библиотеки, почему?Qt не может найти стандартный заголовок

У меня есть пользовательская инструментальная цепочка для устройств. Моя компиляция завершается с сообщениями:

В файле включены из /opt/STM/STLinux-2.3/devkit/sh4/target/usr/include/QtCore/QString:1:0, от ./menuitems/Item. h: 5, .. /appmessages/AppMessageAgeLimit.h:4, из приложений/AMessageDispatcher.cpp: 2: /opt/STM/STLinux-2.3/devkit/sh4/target/usr/include/QtCore/qstring. h: 60: 22: фатальная ошибка: строка: нет такого файла или каталога

Предполагается, что эта инструментальная цепочка настроена неправильно, но я не знаю, как ее исправить. Ниже приведена команда «/opt/STM/STLinux-2.3/devkit/sh4/bin/sh4-linux-g++ -v» - может быть, это будет полезно:

Использование встроенных спецификаций. COLLECT_GCC =/opt/STM/STLinux-2.3/devkit/sh4/bin/sh4-linux-g ++ COLLECT_LTO_WRAPPER =/opt/STM/STLinux-2.3/devkit/sh4/libexec/gcc/sh4-linux/4.8.2/lto-wrapper Цель: sh4-linux Конфигурируется с помощью: /home/viatcheslavvgavrilov/qt/gcc-4.8.2/configure --target = sh4-linux --prefix =/opt/STM/STLinux-2.3/devkit/sh4 --exec-prefix =/opt/STM/STLinux-2.3/devkit/sh4 --bindir =/opt/STM/STLinux-2.3/devkit/sh4/bin --sbindir =/opt/STM/STLinux-2.3/devkit/sh4/sbin --sysconfdir =/opt/STM/STLinux-2.3/devkit/sh4/etc --datadir =/opt/STM/STLinux-2.3/devkit/sh4/share --includedir =/opt/STM/STLinux-2.3/devkit/sh4/include --libdir =/opt/STM/STLinux-2.3/devkit/sh4/lib --libexecdir =/opt/STM/STLinux-2.3/devkit/sh4/libexec --localstatedir =/opt/STM/STLinux-2.3/devkit/sh4/var --sharedstatedir =/opt/STM/STLinux-2.3/devkit/sh4/share --mandir =/opt/STM/STLinux-2.3/devkit/sh4/man - -infodir =/Opt/STM/STLinux-2,3/devk it/sh4/info --enable-verify = assert --program-prefix = sh4-linux- --with-local-prefix =/opt/STM/STLinux-2.3/devkit/sh4 --with-sysroot =/opt /STM/STLinux-2.3/devkit/sh4/target --enable-languages ​​= c, C++ --enable-threads = posix --enable-nls --enable-c99 --enable-long-long -with-system -zlib --enable-shared --disable-libgomp --enable-multilib --with-multilib-list = m4, m4-nofpu --enable-symvers = gnu --with-gxx-include-dir =/target/USR/включать/C++/4.2.4 --enable -__ cxa_atexit модель тема: POSIX GCC версии 4.8.2 20131016 (GCC)

+0

Вы должны задать вопрос, не так ли? Я могу только предположить, что вы хотите, чтобы это было решено, но более сложные сообщения здесь должны включать заявление с вопросительным знаком, я думаю. И я считаю, что любой вопрос должен быть конкретным вопросом вопроса здесь. – AlexanderVX

ответ

0

The compilation is failing due to standard Qt include files/ library missing, why?

Проверка на приставкой qt.conf файла раздела Контуры обычно помогает:

[Paths] 
Prefix=/some/path 

С моих нескольких статически построенных вкусов Qt это, как правило, устанавливается в одно из:

[Paths] 
Prefix=/specific_prebuilt_qt/src/qtbase 

И префикс по умолчанию может указывать на один каталог вверх, который может быть действительным случаем, но затем убедитесь, что путь к Qt правильная цепь инструмента. Или где находится bin папка для Qt, которую вы собираетесь использовать? Папка, где находится инструмент qmake.

[Paths] 
Prefix=.. 

Убедитесь, что после того, как путь префикса исправлен qmake, выполненный для вашего проекта, прежде чем строить его снова.

+0

Да, это то, что я хотел спросить. К сожалению, у меня нет qt.conf.Установка моей инструментальной цепочки была простым копированием для выбора каталога. Я думаю, это корневой случай моей проблемы. У меня нет другого способа установить его. Может быть, я должен отредактировать файл qmake.conf, чтобы решить мою проблему. –

+0

Помните имя файла: qt.conf и находится в каталоге Qt bin. – AlexanderVX

+0

@RomanKazmin Вам нужно построить Qt с установочным каталогом, установленным на тот же самый, что и на целевой. После того, как он будет создан, вы можете скопировать его на цель, и он будет работать правильно. –