0486 Опубликовано: 12 січня, 2007 Опубликовано: 12 січня, 2007 При компіляції на FreeBSD 6.1 для amd64 file_store.cpp Рядок 1749 uint64_t id; Змінна id використовується у функції strtoull2 (Рядок 1751) if (strtoull2(messages.c_str(), id) common.h Рядок 87 int strtoull2(const char * s, unsigned long long &a) На amd64 це все викликаэє невідповідність типів. При зміні типу змінної id чи зміну типу змінної на вході функції strtoull2 прога не компілиться stg 2.402.9.7
vop Опубліковано: 12 січня, 2007 Опубліковано: 12 січня, 2007 При зміні типу змінної id чи зміну типу змінної на вході функції strtoull2 прога не компілиться Что значит "не компилится"? Так и говорит - "не хачу" Или что-то разумное говорит? To Boris: При вводе-выводе 64-х битных величин используй следующую проверочку: #if __WORDSIZE == 64 int strtoull2(const char * s, unsigned long &a) #else int strtoull2(const char * s, unsigned long long &a) #endif
0486 Опубліковано: 13 січня, 2007 Автор Опубліковано: 13 січня, 2007 Сорі. Не не компілиться, а не лінкується. Лінкер не знаходить функцію (символ), strtoull2. (Вона після компіляції дещо змінює назву...)
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВхід
Уже зарегистрированы? Войдите здесь.
Войти сейчас