И да, доступ к сетям ведь будет идти через интернет? Поэтому НАТ у вас уже в любом случае есть. И на удаленной сети то же есть, т.к. сеть 192.168.х.х - приватная и в открытом интернете быть не может.
Алексей: Полноценного доступа при таком подходе не будет. Нужно будет для каждого случая пробрасывать порты на НАТе. Для какой-то более менее сносной работы, нужно выделять в каждой сети компьютер с фиксироанным адресом, на всех НАТах настроить проброс для RDP например, попадать во внутреннюю сеть через этот выделенный компьютер и работать с него.
А то что вы хотите и полноценной межсетевой работы при ваших вводных не получится.
Вопрос не связан с VC. Если на то пошло, то он связан только с виндовой стандартной библиотекой, которой пользуется mingw и которую сам же ставит, при необходимости.
Для функционирования mingw VC вообще не нужен, там свой компилятор, свои библиотеки, заголовочные файлы и т.п. Это самодостаточный продукт (если не считать, что компилятора там по умолчанию нет и его надо ставить через пакетный менеджер).
Используйте тот шел, который я указал выше или его аналог для x32 систем. Их должен создать установщик msys/mingw.
Ну и код в студию.
Ну вот, а говорите - работает. На 10 Мб/с то же вполне можно работать. Не так давно скорость в интернете по ADSL была в лучшем случае 2-2.5 Мс/с на прием, а на отдачу и того меньше. Так что 10 Мб/с полудуплекс вполне может работать.
Но у вас не работает!
Меняйте свич, это он вам мозг пудрит.
Возможно сброс в заводские настройки его сможет как-то оживить, но тогда вам придется его заново настраивать.
Работает на 10 или все таки не работает?
Хоть что-то в сети работает?
Если есть возможность, проверить на другом заведомо рабочем хабе все кабеля, ноуты и десктопы.
Не падает у вас на 10, а не может автоматически определить скорость и выбирает самый минимум: 10 Мб/с полудуплекс. Т.е. попросту сетевой адаптер не работает.
1.Попробуйте принудительно выставить скорость сети на ноуте.
2.Смените драйвера на сетевой адаптер на ноуте
Антон Жилин: Если честно, не знаю как там в std с консольным выводом. Давно не этим не занимался. Но учитывая что в русской винде могут быть 2 кодировки 866 и 1251, причем по умолчанию 866, то да придется помучится.
В свое время делал на чистом Си без стандартной библиотеки консольную утилиту, вот тогда пришлось хорошо в этом разобраться. Но в итоге получился довольно универсальный велосипед, который в любую кодировку консоли выводит правильно, при этом внутри утилиты все было в wchar_t. Собственно тогда было одно из требований для утилиты, чтоб вывод был правильный не зависимо от кодировки консоли.
Можно попробовать все не файловые цели объявить как абстрактную:
.PHONY: ud-rpl_root-CLEAN ud-button-CLEAN ud-button ud-rpl_root clean
Ну или хотя бы clean, хотя и остальные не помешают.
По идее абстрактные цели всегда требуют обновления.
Кстати, не так давно наткнулся на переведенный мануал по make, правда он был в латексе, пришлось повозиться чтоб его собрать в удобочитаемый вид: https://yadi.sk/i/BGuglQYL37Vxbx
1. Да можно и так, но работать будет только для цели all.
Ведь можно вызвать make и так:
make ud-button
Тогда он будет выполнять только указанную цель. При этом clean не сработает. Возможно вам так и надо.
2.У вас в разных целях могут появится какие-то дополнительные файлы, которые нужно удалять и которых нет в другой цели.
Но это больше для целостности и красоты дизайна :-)
Кроме того, в этом случае каждый отдельный makefile станет самодостаточным и можно будет распространять только один проект без другого и без объединяющего makefile. Универсальность так сказать.
Влад Зайцев: Я бы цели clean и cleanall так же реализовал в Makefile.ud-button и в Makefile.ud-rpl_root, а из основного вызывал бы их:
make -f Makefile.ud-rpl_root clean
Сделал небольшой тест - не прокатывает так. Видимо, в командах целей нельзя задавать внутренние команды make, например присваивание переменным или include.
Тогда, думаю, может пройти другой вариант:
1. сделать для каждой цели свой makefile
2.сделать общий makefile в котором в зависимости от цели будет запускаться make с соответствующим параметром. Примерно так:
ud-button:
make -f makefile.udbutton
ud-rpl_root:
make -f makefile.udrplroot
Правда если клиенты висят сутками, то это возможно не очень подходит.