pavel-pimenov / flylinkdc-r5xx

flylinkdc-r5xx
GNU General Public License v2.0
54 stars 26 forks source link

Поддержка ARM & ARM64 #1701

Closed DjArt closed 6 years ago

DjArt commented 6 years ago

Основные изменения:

  1. Версия Windows во всех проектах поднята до 10.0.16299.0, ранние версии ничего не знают о ARM64
  2. Некоторые define изменены, поскольку не учитывали ARM архитектуры
  3. Компилятор для ARM & ARM64 версий изменён с v141_xp на v141 версию, на этих платформах речи о поддержке Windows XP и речи идти не может
  4. Поправлены включаемые библиотеки в flylinkdc, ARM платформа более чувствительна к правильному указанию. Так же принудительно отключена opengl32.lib, на ARM & ARM64 она отсутствует.
  5. Ассемблерные команды исключены define, в одном месте стоит заглушка.
  6. На Windows RT не работает чат, ругается на atl, вполне возможна проблема с самой системой, а не с кодом. P.S. Обновлён и протестирован только проект для VS2017. Все архитектуры компилируются без ошибок. x86, amd64 & arm64 версии не запускал, но, критичных изменений, вроде бы, не вносил.
DjArt commented 6 years ago

Кстати, Windows RT требует подписи бинарей сертификатом, но это уже отдельная история.

pavel-pimenov commented 6 years ago

Спасибо. я завтра проверю сборку win32/64 и сделаю слияние.

pavel-pimenov commented 6 years ago

При сборке в студии 2017 почему-то создается пустой каталог \vc15\r5xx\ARM\Release сам пока не нашел почему :)

pavel-pimenov commented 6 years ago

Еще вот что пишет Q:\vc15\r5xx\flylinkdc_2017.vcxproj : warning : Platform '[ARM64, 0]' referenced in the project file 'flylinkdc' cannot be found.

DjArt commented 6 years ago

Так выглядит конфигурация проекта для ARM: m0 А вот что в проекте Win32: m1 Exe-шник, я сам не понял каким способом, попадает в папку compiled. А предупреждение - я не видел, запущу сборку, перепроверю, отпишусь.

DjArt commented 6 years ago

В общем, все пересобрал заново во всех конфигурациях - предупреждения Platform '[ARM64, 0]' referenced in the project file 'flylinkdc' cannot be found. не нашёл, да и в файле проекта тоже.