this repo need for support swift on russian ai cup
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
csimplesocket
model
swift-cgdk.xcodeproj
MyStrategy.swift
README.md
RemoteProcessClient.swift
Runner.swift
Strategy.swift
clean.bat
compile-swift-31.bat
main.swift
swift-cgdk-Bridging-Header.h

README.md

Инструкция по установки swift на windows

Перед установкой обязательно установить MinGW-64, так как без него работать не будет. архитектуру при установке следует выбрать: x86_64 потоки win32 исключения seh. Версию можно скорей всего выбрать любую, но я ставил 7.2.0. Скачать mingw можно отсюда: https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/7.2.0/threads-win32/seh/ После чего надо прописать переменную окружения SWIFT_HOME = C:\. если вы установили mingw64 в корень. В идеале если папка со swift и папка с mingw64 находились в одной директории: %SWIFT_HOME%\Swift и %SWIFT_HOME%/mingw64

Чтобы установить нв windows7 swift3.1 нужно:

  1. Зайти на github по ссылке ниже и скачать исполняемый файл: SwiftForWindows-1.6.exe https://github.com/SwiftForWindows/SwiftForWindows/releases
  2. Запустить испоняемый файл, и пройти стандартную процедуру установки
  3. На этом шаге можно в теории закончить - если все установлено правильно, то скрипт будет сам устанавливать пути окружения, но если вы хотите работать со swift не в рамках raic, то стоит выполнить инструкции ниже.
  4. Заходим в переменые окружения (мой компьютер/Системные настройки/Другие настройки системы/Переменые окружения)
  5. В переменных окружения находим Path, открываем его для изменения, переходим в самый конец, и прописываем: C:\Swift\mingw64\bin;C:\Swift\wxWidgets-3.0.3\lib\gcc510TDM_x64_dll;C:\Swift\usr\lib\swift\mingw;C:\Swift\usr\bin Обращаю внимание, что если путь до папки Swift был изменен, то его надо поменят
  6. Открыть command tools (cmd) или любой другой.
  7. Пишем там swiftc --version и он должен написать: Swift version 3.1-dev...
  8. Если не написал, то или что-то было сделано не так, либо я чегото забыл когда сам ставил.

Как пользоваться swift-cgdk?

swift-cgdk это аналог всех остальных cgdk, но написанный на swift. В основе сокетного соединения лежит csimplesocket взятый из cpp-cgdk.

Для того чтобы собрать проект на OSX нужно

  1. Запустить проект swift-cgdk.xcodeproj
  2. Скомпилировать
  3. Запустить Но так как мы работает с кросплатформенным swift надо запомнить важное правило: никаких import - использовать только то что есть из коробки.

Для того чтобы собрать проект на windows нужно

  1. Запустить скрипт compile-swift-31.bat
  2. Подождать пока он все соберет.
  3. На выходе получим файл MyStrategy.exe
  4. Если скомпилировать не удалось, то в файле compilation.log будет информация почему, правда бывали случаи когда туда ничего не писалось, но не работало.

Что нужно еще знать?

Так как swift не имеет функции rand(), то она была добавлена как проброска из С кода, и называется: rand или rand32 - она кросплатформенная, то есть работает и на windows и на OSX. Также добавлен srand Помимо этого есть: sqrt, pow, sin, cos, tan, asin, acos, atan, atan2, log, log2, log10, exp P.S. abs, min, max на swift есть и так

Послесловие

В принципе вы можете использовать предпроцессорные директивы и импортировать на каждой платформе разный функционал. Для windows есть MinGWCrt и возможно в следующем году нам повезет и будет даже Foundation.

Автор создавший SwiftForWindows активно продвигает его в основном репозитории apple, так что не исключена вероятность, что swift будет поддержан и на windows в дальнейших версиях.

Вообще на windows разрабатывать сложно - нету дебагинга и IDE, так что советую писать на OSX и перед закидывание на сервер проверять на windows работоспособность. Благо local-runner работает на всех системах.