Перед установкой обязательно установить 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 нужно:
- Зайти на github по ссылке ниже и скачать исполняемый файл: SwiftForWindows-1.6.exe https://github.com/SwiftForWindows/SwiftForWindows/releases
- Запустить испоняемый файл, и пройти стандартную процедуру установки
- На этом шаге можно в теории закончить - если все установлено правильно, то скрипт будет сам устанавливать пути окружения, но если вы хотите работать со swift не в рамках raic, то стоит выполнить инструкции ниже.
- Заходим в переменые окружения (мой компьютер/Системные настройки/Другие настройки системы/Переменые окружения)
- В переменных окружения находим
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 был изменен, то его надо поменят - Открыть command tools (cmd) или любой другой.
- Пишем там
swiftc --version
и он должен написать:Swift version 3.1-dev...
- Если не написал, то или что-то было сделано не так, либо я чегото забыл когда сам ставил.
swift-cgdk это аналог всех остальных cgdk, но написанный на swift. В основе сокетного соединения лежит csimplesocket взятый из cpp-cgdk.
- Запустить проект
swift-cgdk.xcodeproj
- Скомпилировать
- Запустить
Но так как мы работает с кросплатформенным swift надо запомнить важное правило: никаких
import
- использовать только то что есть из коробки.
- Запустить скрипт
compile-swift-31.bat
- Подождать пока он все соберет.
- На выходе получим файл MyStrategy.exe
- Если скомпилировать не удалось, то в файле
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 работает на всех системах.