Тестирование Debian с ядром 3.16-2-amd64 и KDE 4.14.1. Не кросс-компиляция. Использование cmake.
Попытка реанимировать старое приложение KDE, но:
[ 80%] Building CXX object CMakeFiles/knet.dir/prefsdialogimpl.o
/usr/local/src/knet/prefsdialogimpl.cpp: In member function ‘void PrefsDialogImpl::setDeviceChoices(QVector<QString>)’:
/usr/local/src/knet/prefsdialogimpl.cpp:61:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for( uint i=0; i<choices.count(); i++ )
Соответствующая функция выглядит так:
void PrefsDialogImpl::setDeviceChoices( QVector< QString > choices )
{
for( uint i=0; i<choices.count(); i++ )
diagram_deviceComboBox->insertItem((choices[i]), i );
}
И весь файл, prefsdialogimpl.cpp, находится здесь: https://pastee.org/fhb3u
Я не нахожу, где находится целое число без знака, и не знаю, как это исправить. Я новичок в C ++, но учусь.
Если вы посмотрите вверх документация для QVector :: count (), ты это видишь count
возвращает целочисленное значение со знаком. Когда это значение сравнивается с вашим i
, который является uint
происходит несоответствие знака.
Вы можете исправить это несоответствие, изменив определение i
быть int i
,