Как создать приложение для Windows XP, используя командную строку Visual Studio + SCons? - PullRequest
0 голосов
/ 03 сентября 2018

Создание приложения для Windows XP с использованием среды разработки Visual Studio 2015 совсем не сложно, вам просто нужно использовать правильный набор инструментов платформы (v120_xp или v140_xp) и просто убедиться, что вы устанавливаете надлежащие распространяемые dll-файлы среды выполнения Visual Studio на цели автомат, легкий горох.

Теперь я пытался выяснить, как создать приложение для Windows XP, ориентированное на Windows XP, без использования графического интерфейса VS, но с использованием VS2015 командной строки + SCons

Все флаги SCons документированы здесь , но я не вижу ничего, что позволило бы мне изменить набор инструментов платформы.

Если вам интересно, каково истинное значение флага набора инструментов платформы ... после некоторых исследований я смог выяснить, что на самом деле делает этот флаг, в основном создавая различные PE-заголовки, которые подходят для целевого загрузчика машины, вы ниже можно увидеть небольшое сравнение между 4 различными случаями (v120, v120_xp, v140, v140_xp):

enter image description here

Вопрос : Как изменить набор инструментов платформы Visual Studio при использовании visual studio command line или при использовании visual studio command line + SCons?

РЕДАКТИРОВАТЬ: Я нашел это Могу ли я установить набор инструментов платформы из командной строки при сборке с MSbuild VS2010? , но я не уверен, можно ли это использовать через SCons: /

1 Ответ

0 голосов
/ 06 сентября 2018

После долгих поисков я обнаружил, что лучшей стратегией, чтобы узнать больше о значении набора инструментов платформы, было сравнение вручную того, как этот флаг повлияет на cl и link, я уже сделал это, и вот мой выводы:

v120_xp
-------
link: /SUBSYSTEM:CONSOLE",5.01"
cl: /D "_USING_V110_SDK71_"

v120
----
link: /SUBSYSTEM:CONSOLE
cl:

v140_xp
--------
link: /SUBSYSTEM:CONSOLE",5.01"
cl: /D "_USING_V110_SDK71_" /Zc:inline

v140
-------
link: /SUBSYSTEM:CONSOLE
cl: /Zc:inline

Я извлек все общие параметры и оставил только те из них, на которые влияет набор инструментов платформы. Чтобы узнать больше об этой теме, я бы порекомендовал вам прочитать о флагах / SUBSYSTEM из официальных документов.

Кроме того, каталоги Executable/Include/Library/Exclude будут настроены для использования Windows SDK 7.

Остается только интегрировать эти флаги с SCons, что должно быть достаточно просто, например, вам просто нужно добавить эти флаги в среду nuitka

...