dummy Posted January 3, 2010 at 09:13 PM Posted January 3, 2010 at 09:13 PM пытался закомпилить inetaccess.2.61.8 в Borland C++ Builder 6.0 потребовал библиотеку:common.lib взял из stargazer\stglibs\common.lib\* выдает ошибку в файле common.cpp, строка 574: Call undefined function 'inet_ntop' return inet_ntop(AF_INET, &ip, buf, INET_ADDRSTRLEN); нигде, ни в каких файлах, я не нашел определения этой функции подскажите плиз, где ее взять ?
Neelix Posted January 3, 2010 at 10:09 PM Posted January 3, 2010 at 10:09 PM пытался закомпилить inetaccess.2.61.8 в Borland C++ Builder 6.0потребовал библиотеку:common.lib взял из stargazer\stglibs\common.lib\* kmp
madf Posted January 4, 2010 at 09:20 AM Posted January 4, 2010 at 09:20 AM Да, в релизе сломали компиляцию библиотеки под винду. Просто закоментируй функции которые используют несуществующие вызовы.
madf Posted January 4, 2010 at 09:26 AM Posted January 4, 2010 at 09:26 AM А еще лучше поучаствовать в разработке qia (бранч qia-dev собирается под винду)
dummy Posted January 4, 2010 at 03:34 PM Author Posted January 4, 2010 at 03:34 PM Да, в релизе сломали компиляцию библиотеки под винду. Просто закоментируй функции которые используют несуществующие вызовы. прикольно, закоментировал все, где ошибки, и заработало ! по поводу qia - дайте хоть приблизительную инструкцию по сборке, может чем нибудь и помогу
madf Posted January 5, 2010 at 08:39 AM Posted January 5, 2010 at 08:39 AM Да, в релизе сломали компиляцию библиотеки под винду. Просто закоментируй функции которые используют несуществующие вызовы. прикольно, закоментировал все, где ошибки, и заработало ! по поводу qia - дайте хоть приблизительную инструкцию по сборке, может чем нибудь и помогу Инструкция по сборке: 1. Установить Qt SDK (в его состав входит MinGW). 2. Установить CMake. 3. Установить libiconv. 4. Натравить CMake на файл проекта. 5. Запустить Configure. 6. Исправить пути к библиотекам (будут подсвечены красным) и вернуться к пункту 5. 7. Запустить Generate. 8. Запустить make.exe. Что хотелось бы сделать: 1. Собрать с Qt статически чтобы не тащить за собой "массивных" библиотек. Для этого нужно собрать сам Qt статически. 2. Прикрутить инсталлятор NSIS (в дополнение к DEB и RPM) и собрать установщик для Windows. 3. Прикрутить BerkelyDB для хранения истории сообщений. 4. Отображать сообщения через dbus (современные Gnome и KDE), а в случае его отсутствия альтернативными методами. 5. Отображать информацию в хинте для треевой иконки. 6. Привязать в конце концов пароль к HDD.
napTu Posted September 22, 2010 at 06:43 PM Posted September 22, 2010 at 06:43 PM Почему бы это сырцы 2.61.8 не имеют по внешнему виду ничего общего с компилированной версией? unable to find crypto.lib - это как всё связать? Папку crypto.lib компилит, но make и build ругает кучей ошибок. хм, а 2.55.7 собрался без вопросов, только в билдере visual форму не вижу
morfey Posted September 22, 2010 at 09:21 PM Posted September 22, 2010 at 09:21 PM в мене собиралось 2.61.8 в c++ builder 6...
napTu Posted September 23, 2010 at 06:23 AM Posted September 23, 2010 at 06:23 AM в мене собиралось 2.61.8 в c++ builder 6... ну я так понял что оно всё как раз в borland c++ builder 6 и написано, так что другое использовать смысла нет.
madf Posted September 23, 2010 at 07:21 AM Posted September 23, 2010 at 07:21 AM Почему бы это сырцы 2.61.8 не имеют по внешнему виду ничего общего с компилированной версией? unable to find crypto.lib - это как всё связать? Папку crypto.lib компилит, но make и build ругает кучей ошибок. хм, а 2.55.7 собрался без вопросов, только в билдере visual форму не вижу 1. А в чем отличие? 2. Подсунуть в параметры к компоновщику. 3. Какие еще build и make в винде? Тут все под BCB6 заточено. 4. Что за visual форма? 2.55.7 не требовал crypto.lib и ia_auth_c.lib
napTu Posted September 23, 2010 at 09:04 AM Posted September 23, 2010 at 09:04 AM 1. А в чем отличие? 2. Подсунуть в параметры к компоновщику. 3. Какие еще build и make в винде? Тут все под BCB6 заточено. 4. Что за visual форма? 2.55.7 не требовал crypto.lib и ia_auth_c.lib 1.не та иконка, дополнительная кнопка "зарезервировать", указввтель "остаток бесплатного интернета", ссылка на сеть gagarina 2.подсунуть что именно? crypto.lib кроме папки нигде нет, то что в папке не собирается в файл crypto.lib 3.в меню Project можно выбрать compile unit,build project,make project. Compile выдает Done, остальные ругаются на недостатки 4.visual форма это сам вид авторизатора, который визуально компонуется на эркране, расположение объектов, их свойства и т.д. Ничего нет. в 2.61.8 всё видно, а в 2.55.7 пусто, но собирается.
madf Posted September 23, 2010 at 11:01 AM Posted September 23, 2010 at 11:01 AM Буду дома - погляжу. По видимому в репозиторий утекли изменения сделанные по заказу одной сети.
napTu Posted September 23, 2010 at 01:00 PM Posted September 23, 2010 at 01:00 PM 2.55.7 тоже не очень похожий вид, но когда собирается, то всё лишнее уходит. Нашел где включается отображение main формы. Так куда что положить в 2.61.8? Ткните плз носом.
napTu Posted September 23, 2010 at 02:08 PM Posted September 23, 2010 at 02:08 PM http://local.com.ua/forum/topic/18410-компиляция-авторизатора Получилось! )))
NomiD Posted November 3, 2010 at 07:12 AM Posted November 3, 2010 at 07:12 AM Добрый день! Т.к. в СИ не силён, прошу подсказки у знающих людей... Собираю из исходников InetAccess 2.61.8 и в процессе компиляции вылетают такие (я так понимаю идентичные) ошибочки: [C++ Warning] HistoryUnit.cpp(73): W8012 Comparing signed and unsigned values [C++ Warning] HistoryUnit.cpp(115): W8012 Comparing signed and unsigned values Вот сам код файла: 67. if (ACol == 1) 68. { 69. vector<String> lines; 70. Str2Strs(messages[ARow].text, &lines); 71. MsgGrid->RowHeights[ARow] = lines.size()* MsgGrid->DefaultRowHeight; 72. int dy = MsgGrid->DefaultRowHeight; 73. for (int i = 0; i < lines.size(); i++) 74. { 75. MsgGrid->Canvas->TextOut(Rect.Left + 1, Rect.Top + dy*i + 1, lines[i]); 76. } 77. } 106. msgDb.GetMsgList(&msgFile, 10 * MAX_MSG); 107. sort(msgFile.begin(), msgFile.end()); 108. for (int i = msgFile.size() - 1; ; i--) 109. { 110. IA_MSG msg; 111. 112. if (i < 0) 113. break; 114. 115. if (msgFile.size() - i > maxMsg) 116. break; 117. 118. if (msgDb.ReadMsg(msgFile[i], &msg) == 0) 119. { 120. messages.push_back(msg); 121. } 122. } 123. MsgGrid->RowCount = messages.size(); Подскажите пожалуйста где и что нужно подправить?
madf Posted November 3, 2010 at 12:00 PM Posted November 3, 2010 at 12:00 PM Добрый день! Т.к. в СИ не силён, прошу подсказки у знающих людей... Собираю из исходников InetAccess 2.61.8 и в процессе компиляции вылетают такие (я так понимаю идентичные) ошибочки: [C++ Warning] HistoryUnit.cpp(73): W8012 Comparing signed and unsigned values [C++ Warning] HistoryUnit.cpp(115): W8012 Comparing signed and unsigned values Вот сам код файла: 67. if (ACol == 1) 68. { 69. vector<String> lines; 70. Str2Strs(messages[ARow].text, &lines); 71. MsgGrid->RowHeights[ARow] = lines.size()* MsgGrid->DefaultRowHeight; 72. int dy = MsgGrid->DefaultRowHeight; 73. for (int i = 0; i < lines.size(); i++) 74. { 75. MsgGrid->Canvas->TextOut(Rect.Left + 1, Rect.Top + dy*i + 1, lines[i]); 76. } 77. } 106. msgDb.GetMsgList(&msgFile, 10 * MAX_MSG); 107. sort(msgFile.begin(), msgFile.end()); 108. for (int i = msgFile.size() - 1; ; i--) 109. { 110. IA_MSG msg; 111. 112. if (i < 0) 113. break; 114. 115. if (msgFile.size() - i > maxMsg) 116. break; 117. 118. if (msgDb.ReadMsg(msgFile[i], &msg) == 0) 119. { 120. messages.push_back(msg); 121. } 122. } 123. MsgGrid->RowCount = messages.size(); Подскажите пожалуйста где и что нужно подправить? Это не ошибки
NomiD Posted November 5, 2010 at 07:23 PM Posted November 5, 2010 at 07:23 PM Ну хорошо не ошибки, я не знаю что это, может предупреждения какие-то! Но фактом же их не должно быть...?! Можете подсказать чем они вызваны и как от них избавиться?
madf Posted November 5, 2010 at 07:46 PM Posted November 5, 2010 at 07:46 PM Ну хорошо не ошибки, я не знаю что это, может предупреждения какие-то! Но фактом же их не должно быть...?! Можете подсказать чем они вызваны и как от них избавиться? Вобще говоря вопрос странный. Я бы еще понял если бы это были требования QA дистрибутива (как, например, в ALT Linux), но когда речь идет о персональном пользованиии, еще и под Windows... Не поймите меня неправильно, я тоже считаю что предупреждений компилятора быть не должно. Но это точка зрения программиста, а судя по вашему вопросу вы не программист. Ладно. Переменная цикла i в обоих случаях объявлена как знаковое целое, а std::vector::size() возвращает тип size_t который, обычно, unsigned int - т.е. беззнаковый. О чем, собственно, и предупреждает компилятор. Верхняя граница значений этой переменной будет примерно 2 миллиарда, а верхняя граница значений std::vector::size() примерно 4. Теоретически возможно переполнение и, как результат, некорректная работа этого цикла. На практике... На практике у пользователя вряд-ли когда-нибуть в обозримом будущем накопится 4 млрд. сообщений. Но если напрягает - смените тип на size_t.
NomiD Posted November 9, 2010 at 06:16 AM Posted November 9, 2010 at 06:16 AM Да, действительно, я не программист, я только учусь..) В любом случае спасибо за пояснения, я разобрался и все исправил!
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now