Я создал свой первый программный продукт с использованием QT и C ++, который отлично работает при компиляции в Ubuntu 11.04 и Mac OS X. Когда я компилирую в Windows, я получаю странный вывод в моем графическом интерфейсе. Я отследил проблему до ошибки вычисления координат краски. Это оскорбительный расчет:
long x = ((pos-from) *width)/range ;
qDebug() << ***************;
qDebug() << "pos" <<"\t" << pos;
qDebug() << "from" <<"\t" << from;
qDebug() << "width" <<"\t" << width;
qDebug() << "range" <<"\t" << range;
qDebug() << "x" <<"\t" << x;
qDebug() << "***************";
И вывод из Ubuntu:
***************
pos 2500000
from 1
width 1005
range 4411537
x 569
***************
И вывод из Windows:
***************
pos 2500000
from 1
width 1574
range 4411537
x -81
***************
У кого-нибудь есть идея, почему я могу получать разные значения для x?
Приветствие.