Неразрешенные внешние ссылки
Использую фукнцию GetAdaptersInfo(). В одном проекте - обычном оконном линкер проглатывает ее без возмущения. В консольном, при подключении всего того же, что и в оконном, выдает ошибку о неразрешении внешней ссылки GetAdaptersInfo в объектном файле проекта. Компилятор срабатывает без ошибок.
Что за нафиг?
Понадобилось на билдере слепить проект. И снова он меня "приятно" удивил :)
Использую фукнцию GetAdaptersInfo(). В одном проекте - обычном оконном линкер проглатывает ее без возмущения. В консольном, при подключении всего того же, что и в оконном, выдает ошибку о неразрешении внешней ссылки GetAdaptersInfo в объектном файле проекта. Компилятор срабатывает без ошибок.
Что за нафиг?
Посмотри раздел Project->Options->Directories/Conditionals
Посмотри раздел Project->Options->Directories/Conditionals
Посмотрел. В обоих проектах их содержимое одинаково, если касаться подключаемых заголовочников и либов.
Бред какой-то!
Понадобилось на билдере слепить проект. И снова он меня "приятно" удивил :)
Использую фукнцию GetAdaptersInfo(). В одном проекте - обычном оконном линкер проглатывает ее без возмущения. В консольном, при подключении всего того же, что и в оконном, выдает ошибку о неразрешении внешней ссылки GetAdaptersInfo в объектном файле проекта. Компилятор срабатывает без ошибок.
Что за нафиг?
Project|Add to Project...
iphlpapi.lib//из каталога $(BCB)\lib\psdk
и задай себе вопрос: BCB, руки или голова? :)
P.S. У меня работает только, что посмотрел какой у меня адаптер.
Project|Add to Project...
iphlpapi.lib//из каталога $(BCB)\lib\psdk
и задай себе вопрос: BCB, руки или голова? :)
Ну, хамить думаю вовсе не обязательно было. Я даже готов признать, что у меня кривые руки и тупая башка, только ты мне тогда объясни - почему в оконном приложении этого делать не надо??? И находится это извиняюсь - ж...пе. Я искал где включить эту опцию в линкере - что помоему совершенно очевидно из ошибки.
Кстати! Я вспомнил, некто мне однажды говорил, что в билдере все либы подключаюстя автоматом. Не помнишь, кто же это был? ;)
Если уж на то пошло, то VC в этом отношении гораздо справедливее - если надо подключить либу, то надо в любом проекте. Впрочем - это уже флуд.
P.S. У меня работает только, что посмотрел какой у меня адаптер.
А почему оно должно не работать? Код рабочий и проверенный, только не в билдере :)
Ладно. Все, молчу.
Ну, хамить думаю вовсе не обязательно было. Я даже готов признать, что у меня кривые руки и тупая башка,
Оскорблять Я тебя не собирался, если хочешь - извини. Этой фразой Я хотел сказать, что Билдер тут ни причем и надо быть внимательней. И если приходится периодически , что-то делать в BCB ну изучи среду-то. Есть отличя от VC - естественно.
только ты мне тогда объясни - почему в оконном приложении этого делать не надо???
надо (в ВСВ), если Ты или кто-то за тебя ее уже не включил в проект. См. ниже...
И находится это извиняюсь - ж...пе.
ну это кому-как...
Я искал где включить эту опцию в линкере - что помоему совершенно очевидно из ошибки.
Еще уточнение: - это не опция и из ошибки это очевидно (не подумай, что опять подкалываю, рабочий тон...)
Кстати! Я вспомнил, некто мне однажды говорил, что в билдере все либы подключаюстя автоматом. Не помнишь, кто же это был? ;)
Это был Я, но наверно всеже Я говорил не так, а:
многие и самые необходимые на взгляд производителей.
<ALLLIB value="$(LIBFILES) $(LIBRARIES) import32.lib cp32mti.lib"/>
А вот в VC все подключаются по отдельности и мне напр. это не удобно. Локальный вывод:
1. Ну создай файл импорта под себя и замени им import32.lib
2. Так же есть файл проекта default.bpr
который можно подправить вручную или вызвав Project|Options без открытого проекта. После этого все новые проекты будут иметь установки и список либ соотв. твоемй желанию.
Если уж на то пошло, то VC в этом отношении гораздо справедливее - если надо подключить либу, то надо в любом проекте. Впрочем - это уже флуд.
ну еще раз - кому как, мне не понравилось...
А почему оно должно не работать? Код рабочий и проверенный, только не в билдере :)
Ладно. Все, молчу.
Думаю Ты уже понял...
А вообще бери меня на работу на пол/ставки если требуется, что-то на ВСВ писать - ЭЭЭ слюшай шютка :)
Удачи.
Еще уточнение: - это не опция и из ошибки это очевидно (не подумай, что опять подкалываю, рабочий тон...)
Прально. Это не опция, это я не так выразился. Настройка наверное будет более точно. Но суть от этого не меняется. Мне почему-то казалось, что линкер должен настраиваться в разделе Linker, а не где-нибудь еще. Как выяснилось - заблуждался :)
А вообще бери меня на работу на пол/ставки если требуется, что-то на ВСВ писать - ЭЭЭ слюшай шютка :)
Удачи.
Ага понял, еще раз спасибо.
А вообще бери меня на работу ...
Я могу, но в Днепропетровске и на полную ставку :):)
Я могу, но в Днепропетровске и на полную ставку :):)
Далековато мне будет из Питера на работу ездить :).
Далековато мне будет из Питера на работу ездить :).
А в Москву не далеко будет? :)
А в Москву не далеко будет? :)
Все ближе чем на нiзалежну. Ладно вообщем смотрите такие специалисты на дороге не валяются:) И еще, сразу забыл спросить, что Ты с iphlpapi делаешь? Есть вопросик маленький...
И еще, сразу забыл спросить, что Ты с iphlpapi делаешь? Есть вопросик маленький...
Читаем, что имеется в конфигах сетевухи, если все ок (ip, шлюз, маска), то пингуем поочередно: шлюз, dns, главный сервак сети; смотрим результаты пинга и если нифига не пингуется release()/renew() программно. Выдаем результат.
Чуть не забыл - это еще надо все в кучу собрать, на что пока не хватает времени.
А что надо?
Читаем, что имеется в конфигах сетевухи, если все ок (ip, шлюз, маска), то пингуем поочередно: шлюз, dns, главный сервак сети; смотрим результаты пинга и если нифига не пингуется release()/renew() программно. Выдаем результат.
Чуть не забыл - это еще надо все в кучу собрать, на что пока не хватает времени.
А что надо?
Да вот все хочу научиться траффик (инетовский) считать. Когда у меня модем стоял вроде все просто было. Теперь подключаюсь через локалку, попробовал плывет постояно(считает и считает хотя Я не в Инете) это как Я понял сетевуха постоянно пакеты шлет-принимает. А вот как отфильтровать траффик инетовский и почтовый, понять не могу. MSDN с нуля осилить не могу т.к. задача совсем для меня новая. Хотя-бы нужна ссылка на статью, книжонку (рус/англ) или примерчик простенький. Вот.
Понятно одно - сниффер надо писать, а это на сколько я понимаю не так-то и сложно. А там - уже легко выкидываешь пакеты которые идут заведомо из локальной сети (по адресу сети вычисляешь - 192.168.0.0, или 10.0.0.0) а все что осталось - считаешь.
Да вот все хочу научиться траффик (инетовский) считать.
Гым. Как всегда - все оказалось не так просто как казалось. :)
Снифир написать не проблема, выгребать при помощи него информацию из входящего/исходящего потока инфы - то же не проблема. Как всегда - я что-то недоглядел.
Проблема в другом - все пакеты идут через твой шлюз. Т.е. у всех них будет один и тот же IP источника. Либо они еще могут идти от других компов твоей подсети - эти отбросить не проблема, да только это бестолку, т.к. я думаю что сеть состоит больше чем из одной подсети и через шлюз проходит много локального трафика. Т.е. так отличить инет траф от локального не получится. Надо копать дальше.
В общем, пока в голове есть кое-какие наброски, будет время, попробую сделать. Кстати, IP-helper тут ни при чем.