Cmak что это за программа

Знакомство с CMake. Часть 1. Установка, CMakeLists.txt, сборка

Cmak что это за программа

Многие, кто начинал создавать собственные программы, пользовался какой-либо системой сборки. В общем, система сборки – это набор инструментов, облегчающий работу с компилятором.

Это включает в себя компиляцию, линковку, установку, а также сбор исходных файлов для передачи их компилятору и слежение за зависимостями.

Также современные системы сборки облегчают работу с библиотеками, позволяют создавать переносимые проекты и выполняют ещё массу других вкусностей.

Эта статья посвящена популярной системе сборки CMake и расскажет, как правильно её установить и настроить, а также будет рассмотрен простой пример её использования. Она рассчитана на тех, что хоть немного знаком с понятиями make, Makefile, компиляция, линковка.

Установка в Linux

Для популярных дистрибутивов Linux типа Debian, Gentoo, Fedora и т.д. CMake давно лежит в официальных репозиториях.

Нам нужно всего лишь установить пакет cmake с помощью менеджера пакетов.

Как правило, он устанавливается в системные директории, и необходимости править переменные окружения нету. Можете проверить её работоспособность, выполнив

cmake —version

Если же в репозитории нет такого пакета, то можно его собрать вручную. Скачиваем Unix/Linux Source, например, cmake-3.5.0-rc3.tar.gz, распаковываем и собираем:

tar -xzf cmake-3.5.0-rc3.tar.gz cd cmake-3.5.0-rc3/ ./configure —prefix=/usr make -j sudo make install

tar -xzf cmake-3.5.0-rc3.tar.gzcd cmake-3.5.0-rc3/./configure —prefix=/usrmake -jsudo make install

Если нет необходимости устанавливать в системную /usr директорию, можно в аргументе —prefix прописать нужный корень установки.

По умолчанию, без явного указания —prefix, установка будет произведена в /usr/local.

-j используется для ускорения сборки, например, на 4-х ядерном процессоре можно указать -j4, и сборка будет вестись параллельно в 4 потока.

Установка в Windows

Для Windows на сайте CMake лежит установочный файл msi. Рекомендую при установке отметить галочку добавления пути в переменные окружения PATH для всех пользователей. Тогда, после перелогинивания, CMake будет доступен из любого места. Проверить можно, открыв cmd и выполнив тот же

cmake —version

Принцип работы

Основная цель работы CMake – создание Makefile или проекта для конкретной среды программирования по файлу проекта CMakeLists.txt. За тип создаваемых файлов отвечает аргумент -G. Можно посмотреть поддерживаемые генераторы, выполнив

Т.е. любой проект с использованием этой системы сборки начинается с создания CMakeLists.txt, в котором описывается проект.

CMakeLists.txt

Основную документацию можно посмотреть на сайте CMake, а здесь я расскажу коротко об основных правилах написания этого файла. В этом файле описываются исходные файлы, подключаемые библиотеки, параметры компиляции, подпроекты и правила установки.

В одном файле разрешается создавать несколько исполняемых файлов или библиотек и подключать несколько подпроектов. Под подпроектом я подразумеваю просто другую папку с CMakeLists.txt.

В этом и состоит основная прелесть CMake – он не накладывает никаких ограничений на состав и сложность проекта. Один файл может описывать как самостоятельное приложение, так и быть корневым файлом сложного программного комплекса.

Или, например, в одном файле можно описать сборку библиотеки и исполняемого файла, использующего эту библиотеку, а также тут же подключить ещё парочку подпроектов.

Итак, пример простейшего CMakeLists.txt:

project(hello_cmake) cmake_minimum_required(VERSION 2.6) set(CMAKE_INSTALL_PREFIX ${CMAKE_CURRENT_SOURCE_DIR}/..

/) include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}) file(GLOB CPPS «*.

cpp») add_definitions(-Wall -O2) add_executable(${PROJECT_NAME} ${CPPS}) target_link_libraries(${PROJECT_NAME}) install(TARGETS ${PROJECT_NAME} DESTINATION bin)

project(hello_cmake)cmake_minimum_required(VERSION 2.6)set(CMAKE_INSTALL_PREFIX ${CMAKE_CURRENT_SOURCE_DIR}/../)include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR})file(GLOB CPPS «*.cpp»)add_definitions(-Wall -O2)add_executable(${PROJECT_NAME} ${CPPS})target_link_libraries(${PROJECT_NAME})install(TARGETS ${PROJECT_NAME} DESTINATION bin)

Рассмотрим подробнее:

project(hello_cmake)

задать имя проекта. Его можно потом использовать, как ${PROJECT_NAME}.

set(CMAKE_INSTALL_PREFIX ${CMAKE_CURRENT_SOURCE_DIR}/../)

set(CMAKE_INSTALL_PREFIX ${CMAKE_CURRENT_SOURCE_DIR}/../)

задать путь для установки собранных файлов. Здесь установка будет производиться в папку, содержащую папку с исходниками.

include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR})

include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR})

добавить пути с хидерами, -I для gcc. Здесь добавляются папка сборки и папка с исходниками.

file(GLOB CPPS «*.cpp»)

собрать в один список все файлы по регулярному выражению. Здесь в переменную CPPS добавляются все файлы по шаблону *.cpp, т.е. все исходные файлы. *.h файлы добавлять не надо, т.к. из них не создается объектных файлов.

add_definitions(-Wall -O2)

add_definitions(-Wall -O2)

добавить директивы компилятора. Здесь мы включаем оптимизацию O2 и разрешаем все предупреждающие сообщения.

add_executable(${PROJECT_NAME} ${CPPS})

add_executable(${PROJECT_NAME} ${CPPS})

собрать исполняемый файл. Здесь собирается исполняемый файл hello_cmake из исходников CPPS.

Читайте также  Photkey что это за программа

target_link_libraries(${PROJECT_NAME})

target_link_libraries(${PROJECT_NAME})

слинковать файл с библиотеками. Здесь библиотек нет, но если они есть, то они пишутся через пробел после имени файла.

install(TARGETS ${PROJECT_NAME} DESTINATION bin)

install(TARGETS ${PROJECT_NAME} DESTINATION bin)

установить собранный файл. Здесь наш исполняемый файл устанавливается в папку bin папки установки. Она ранее была задана как ${CMAKE_CURRENT_SOURCE_DIR}/../, т.е. рядом с папкой исходников появится папка bin, куда будет установлен собранный файл.

Сборка

Чтобы сгенерировать Makefile или файл проекта среды, нужно выполнить cmake с указанием директории, где лежит CMakeLists.txt, или просто cmake, если CMakeLists.txt лежит тут же. Хотя признаком хорошего тона считается разделение директорий с исходниками и сборочной.

Например, в папке src лежат исходники и CMakeLists.txt, и рядом с src есть папка build. В этом случае для сборки проекта следует перейти в build и выполнить там cmake ../src.

Тогда папка с исходниками останется нетронутой, а все служебные файлы cmake и объектные файлы будут создаваться в build.

Источник: https://admins.su/znakomstvo-s-cmake-2/

Что такое CMAK (пакет администрирования диспетчера подключений) и как с ним работать?

Из предыдущих версий в Windows 10 перекочевал компонент CMAK. Что это за программа и какое у нее назначение читайте в рамках данной статьи.

Пакет администрирования диспетчера подключений (CMAK) — это дополнительный, не установленный по умолчанию компонент, который предназначен для создания профилей подключения, устанавливаемых пользователями для доступа к удаленным сетям (VPN).

CMAK доступен во всех серверных Windows а также в Windows 7, 8, 10.

Совет! Ознакомьтесь с созданием VPN с помощью Hamachi.

Для включения в Windows 10:

  1. Правой кнопкой по Пуск → Панель управления → Программы и компоненты.
  2. Слева нажмите «Включение или отключение компонентов Windows».
  3. Поставьте галочку напротив «Пакет администрирования диспетчера RAS-подключений (CMAK)» и нажмите «ОК».
  4. Дождитесь установки компонентов.
  5. Затем перейдите по пути
    C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Administrative Tools и откройте «Пакет администрирования».

Создание и подключение VPN

Важно! Если профили для подключения используются в версиях Windows с архитектурой x86, то и создаваться профиль должен на компьютере с x86. Аналогичное правило для архитектуры x64.

Запустите «Пакет администрирования диспетчера подключений»:

  1. Откроется мастер подключений с информацией о диспетчере и ссылкой на заявление о конфиденциальности. Жмем «Далее».
  2. Следующий этап позволяет выбрать какая операционная система будет использоваться с профилем. Для использования на Windows 10 выбираем «Windows Vista или более поздняя версия».
  3. Создаем новый профиль.
  4. Теперь требуется в поле ввести имя нового подключения (будет отображаться в сетевых подключениях Windows), а также имя файла, которое будет запускать пользователь (не более восьми символов и нельзя использовать знаки припинания, например VPN.exe).
  5. В следующем шаге мастер предоставит возможность добавить имя сферы. Если вы не планируете использовать текущего провайдера в качестве шлюза аутентификации на VPN сервере, нажимайте кнопку «Далее».
  6. Следующий шаг позволяет объединить данные из телефонной книги других профилей, чтобы не указывать их заново. Так как других нет, жмем «Далее».
  7. В следующем шаге нужно указать IP-адрес VPN-сервера для подключения. Кроме того, можно предоставить клиенту на выбор список адресов VPN-серверов. Чтобы указать список, его необходимо оформить в текстовый документ в таком формате (см. рисунок ниже) и загрузить в мастере подключений через кнопку «Обзор».
  8. После выбора адреса следующее окно позволяет перейти к настройке VPN-туннеля. 
  9. Для настройки нажмите «Изменить», откроется меню с такими вкладками:
    1. Общие — можно выбрать какие типы адресов использовать: IPv4, IPv6 или оба. Также можно оставить или «отключить общий доступ к файлам и принтерам».
    2. IPv4 — позволяет настроить службы DNS и WINS клиента, использовать сжатие и сделать подключение шлюзом по умолчанию. Если не нужно использовать VPN соединение как шлюз по умолчанию, снимите галку. Позже можно добавить статические маршруты для сетей, где нужен вход через VPN.
    3. IPv6 — аналогичная настройка для протокола IPv6.
    4. Безопасность — позволяет выбрать нужный туннельный протокол (PPTP, L2TP, SSTP). Протокол можно выбрать единственный или же чередовать их при повторном подключении. Также на вкладке доступны параметры шифрования, безопасный вход и методы проверки подлинности.
    5. Дополнительно — разрешает использование DNS-суффикса, что используется для клиентского соединения.
  10. Нажав «Далее» переходим во вкладку «Добавить заданную телефонную книгу». Если вы не собираетесь использовать телефонную книгу для подключения к сети удаленного доступа (к примеру, для дозвона к dial-up серверу) снимите метку с «Автоматически скачивать обновления телефонной книги» и нажмите «Далее».
  11. Если не используете dial-up, то идем «Далее».
  12. Следующий шаг позволяет «Определить обновление таблицы маршрутизации». Если вы сняли галочку, как указано в пункте 9.2, теперь нужно вручную настроить маршрутизацию. Можно использовать как текстовый файл с информацией о маршрутах, так и указать URL на файл. Например чтобы пользователь при переходе в сеть 198.21.16.0/24 использовал VPN, в текстовом документе пишите следующее:«ADD 1198.21.16.0 MASK 255.255.255.0 default METRIC default IF default»

    Сохраняйте текстовый документ только в кодировке ANSI.

  13. Следующее окно позволит настроить прокси. В примере пропускаем этот шаг.
  14. Новое окно позволяет настроить дополнительные действия. Например можно настроить открытие другого приложения при запуске VPN-соединения. Нажав кнопку «Создать» вы сможете настроить действие под конкретный случай.
  15. Следующая настройка позволяет указать рисунок для окна подключения.
  16. Последующий — для телефонной книги.
  17. Теперь заданные значки.
  18. Затем переходим к указанию файла справки. В Windows 10 файл справки не доступен. В Windows 8 и ранее файл справки отображается при нажатии кнопки «Справки». Чтобы указать свой файл справки, загрузите документ с расширением .hlp.
  19. В этом окне можно указать данные тех. поддержки или просто пропустить.
  20. Если необходимо указать лицензионное соглашение, загрузите его в текстовом формате.
  21. В этом окне можно выбрать дополнительные файлы, например для программ, которые можно настроить в пункте 14.
  22. Профиль диспетчера подключений компилируется в файл с расширением .exe, который можно передать пользователям. В этом окне можно нажать флажок «Дополнительная настройка», который позволит перед сборкой программы установки внести дополнительные изменения в файлы.
  23. Финишная прямая. Установочный файл успешно скомпилирован и его можно передавать на клиентские машины.Путь к файлу будет указан. Исполняемый файл сохранен в директории
    C:\Program Files\CMAK\Profiles\Windows Vista and above\VPN\VPN.exe
  24. Теперь запускаем .exe файл.
  25. Указываем настройки.
  26. Теперь пользователю нужно ввести данные для подключения, чтобы полноценно использовать созданную VPN.
Читайте также  Mobnet с пакетом инструкций по настройке программы

Совет! Для настройки домашней локальной сети с помощью Wi-Fi роутера ознакомьтесь с этой инструкцией.

Удаление

Чтобы удалить «Пакет администрирования», отключите его, сняв галочку там, где вы его подключали. Для удаления созданной клиентом сети зайдите в «Сетевые подключения», нажмите правой кнопкой мыши по созданной сети и выберите «Удалить».

Источник: https://geekon.media/paket-administrirovaniya-dispetchera-podklyuchenij/

Создаем vpn client windows установщик в Windows 8.1

Всем привет, что то идет мысля все по теме VPN, хочется вам еще упростить жизнь. Напомню ранее мы разобрали как настроить vpn, его создание так сказать и Автоматическое подключение через vpn, для автоматизации.

Но представим ситуацию, что вам нужно переустановить систему или например установить такое подключение десяткам пользователей как поступить в таком случае.

К счастью есть возможность создать маленький msi пакет в котором будут прописаны все настройки, пользователю останется ввести только логин и пароль и подключиться, а для админа можно его распространять с помощью групповых политик, но обо всем по порядку.

Для создания msi пакета с настройками vpn соединения заточенного под ваши требования нам поможет Пакет администрирования диспетчера подключений (CMAK)

Что такое CMAK

cmak (Пакет администрирования диспетчера подключений) > это компонент Windows позволяющий создать пакет автоматической настройки vpn подключения

Включение cmak

Для включения данного компонента открываем с вами панель управления > Программы и компоненты

Далее в открывшемся окне слева вверху нажимаем Включение или отключение компонента

Выбираем Пакет администрирования диспетчера RAs-подключений (CMAK) и жмем ок.

Начнется добавление компонента, займет это дело пол минуты от силы.

Далее переходим в Панель управления > Администрирование, в котором обнаружите запускаемой файл для дальнейшей настройки.

Создаем пакет vpn client windows

И так в для того чтобы в один клик настроить vpn client в windows, создадим установщик. Открываем Пакет администрирования диспетчера подключений.

Сразу подсказка если у вас 32 битная версия ос, то и пакет создадите то же для 32 битной, это нужно учитывать.

И необходимо учитывать поколение Windows, если вы делаете это в Windows 7, то он без проблем подойдет для Windows Server 2008 R2, но для Windows 8.

1 могут быть проблему и вам придется создавать отдельный пакет

В мастере можно пропустить вводное окно и нажать далее.

На следующем этапе вас спросят для какой версии Windows будет собираться vpn пакет, думаю у большинства это позднее Vista.

Теперь создаем новый профиль и жмем далее

Теперь вам нужно определиться с необходимостью добавления имени сферы. В Windows имя сферы — это часто имя домена доменных служб Active Directory (AD DS). Информация о сфере используется только для подключений удаленного доступа. Если у вас нет Active Directory, то просто жмем далее, если нет то заполняем вот так

Выбираем добавить имя сферы к имени пользователя, тут два варианта либо перед именем домен\имя пользователя либо после в виде имя пользователя@ваш домен. Я пока оставлю без домена, так как в большинстве случаев это не нужно обычным людям.

Читайте также  Mmitest что это за программа

Продолжаем создание vpn client windows пакета и на следующем шаге вас попросят указать будет ли объединение данных из разных профилей.

Допустим у вас есть уже созданный профиль, в котором есть полезная информация, которая пригодится при создании текущего, в мастере cmak можно ее использовать. Профиль, который содержит информацию из других профилей подключения, называется профилем верхнего уровня.

Профиль подключения, информация из которого была включена в другой профиль подключения, называется профилем компонента. Так как у нас еще нет профилей жмем далее.

На следующем шаге создания установщика vpn client windows, можно задать конкретный адрес сервера, куда будет осуществляться подключение

Либо можно задать файл со списком таких адресов, вот пример синтаксиса. Из полезного:

  • default > это адрес сервера по умолчанию
  • UpdateURL > это адрес обновления списка адресов
  • Message > сообщение отображаемое при выборе адреса
  • VPN Servers > сами адреса

Теперь нам нужно под настроить нашу VPN запись, жмем изменить

На вкладке общие задаем какой протокол будет использоваться ipv4 или ipv6, а может и оба. Я для себя выбираю ipv4, у вас же это может быть по другому. Так же я ставлю галку Отключить общий доступ к файлам и принтерам, мне не нужно, чтобы ко мне могли подключаться пользователи сети куда я попаду при подключении.

Вкладка IPv4, позволяет сделать очень хорошие настройки, например вы можете явным образом, задать нужный ip адрес шлюза и DNS серверов.

Если вы создаете клиента для пользователей которые будут конектится в локальную сеть организации, то вам не нужно, чтобы их интернет трафик шел, через вас, для этого нужно будет снять галку Сделать это подключение основным шлюзом клиента. Если vpn соединение будут к провайдеру то галку оставляем.

На вкладке безопасность вы можете задать явным образом задать протокол соединения (PPTP, L2TP, IKE), настроить шифрование и протоколы проверки подлинности.

Следующим шагом будет добавление адресной книги с номерами набора для технологии dial-up, думаю сейчас это уже не актуально. Снимаем галку Автоматически скачивать и жмем далее.

Если нужно так же задать настройки dial-up, в плане выбора ipv4 или ipv6 нажмите изменить.

Теперь очень важный пункт, особенно при условии что вы сняли ранее галку сделать это подключение шлюзом по умолчанию.

Когда этой галки нет, то при подключении к локальной сети, у данного соединения не будет шлюза, а значит, что вы не сможете попасть в другую сеть, за не имением маршрутов, для того чтобы это исправить можно задать файл с добавлением маршрутов, вот такого содержания.Файл должен быть обязательно в кодировке ANSI, а не UTF-8.

«ADD 192.168.10.0 MASK 255.255.255.0 default METRIC default IF default»

Если нужно настроить прокси то выставляем нужный пункт, если нет, то оставляем не настраивать параметры прокси.

Выходим на финишную прямую по созданию vpn client windows установщик в Windows 8.1. Окно добавить дополнительные действия. Полезно если вы хотите запустить скрипт или другую утилиту.

Жмете создать. Задаете описание, запускаемую программу и действие.

На следующем шаге вы можете задать фоновый рисунок vpn client windows. Далее.

Теперь можно задать фоновый рисунок адресной книги

Значок ярлыка в формате ico

Если есть необходимость в плане файла справки, то его можно добавить в виде chm файла.

Далее указываем номер технической поддержки, он будут фигурировать в клиенте vpn.

Если нужно подложить лицензионное соглашение, то оно делается на этом этапе, формат в виде txt файла.

Далее можно задать дополнительные файлы которые будут установлены вместе с клиентом (скрипты)

Все заканчиваем собирать vpn client windows в Windows 8.1, жмем далее.

Пакет собран и мастер вам показывает путь до файла vpn подключения.

Лежать он будет по пути

C:\Program Files\CMAK\Profiles\Windows Vista and above\vpn

Устанавливаем vpn client windows

И так мы выяснили что установщик vpn лежит в C:\Program Files\CMAK, запускаем его. На вопрос хотим ли мы его установить жмем да.

Далее вас спросят будет ли доступно данное соединение, только вам или же для всех

Все ваше vpn соединение появилось в списке сетевых интерфейсов.

Запускаем его, сервер уже прописан автоматом, видно телефон технической поддержки, нажмем свойства.

На вкладке параметры выберите побольше число запросов, и время простоя до разрыва связи поставьте никогда.

На этом все, задачу по созданию автоматического пакета настраивающего vpn клиента в windows мы выполнили.

Материал сайта pyatilistnik.org

Источник: http://pyatilistnik.org/sozdaem-vpn-client-windows-ustanovshhik-v-windows-8-1/

Понравилась статья? Поделить с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: