Cross-compile toolchains after v7 are missing the setup.bat

FYI, the cross-compile instructions mention a setup.bat to generate OutputEnvVars.txt but v7, v8 and v9 are missing it from their respective zip files:

The setup/unsetup.bat are not necessary (they are used in AutoSDKs system which is not documented).

The toolchain does not need any setup if used standalone outside AutoSDKs (you can check Setup.bat and see what it does - it just prints env var names). The errors are most caused by the change of structure of the toolchain between v7 and v8. v7 was still using the old LINUX_ROOT arrangement, while v8 uses LINUX_MULTIARCH_ROOT. If you want to use v8 with LINUX_ROOT you need to provide the path to a specific architecture.

EDIT: the documentation will be corrected to clarify that Setup.bat is not truly necessary (although may be helpful so you know how to set up the variables).

i can confirm this that the files are indeed missing.
I have downloaded them all and extracted them with many different zip/rar programs, No setup.bat or unsetup.bat files were found.

When trying to build the linux in unreal 4.16.3, i get directed to this link:

It clearly explains to run “Setup.bat”.
If i try to skip this step it gives me a crapload of errors when trying to build linux in the project sln.

I’m trying to use v9 clang 4.0.0-based - for UE4 4.16
Will i use LINUX_ROOT or LINUX_MULTIARCH_ROOT?

For v8 and later toolchains (that have multiple architectures in them) LINUX_MULTIARCH_ROOT is definitely recommended.

Followed the guide with the information you gave, it’s not showing Linux in Visual Studio.

It might not be required, and I was able to figure out the value I needed for the environment variables, but it is still confusing to try to follow incorrect or outdated documentation. I hope you can update the documentation for others, thanks.

Please open cmd.exe and type

%LINUX_MULTIARCH_ROOT%x86_64-unknown-linux-gnu\bin\clang++.exe --version

it should print clang version. If you see any other output (missing path/file), the variable was not set up properly.