IfI insist and try command "swift run Hello", I get:
warning: Failed creating default cache location, Error Domain=NSCocoaErrorDomain Code=256 "(null)"
'hello': error: invalidManifestFormat(":1:10: note: in file included from :1:\r\r\n#include "AssertionReporting.h"\r\r\n ^\r\r\nC:\Library\Developer\Platforms\Windows.platform\Developer\SDKs\Windows.sdk\usr\lib\swift\shims/AssertionReporting.h:16:10: note: in file included from C:\Library\Developer\Platforms\Windows.platform\Developer\SDKs\Windows.sdk\usr\lib\swift\shims/AssertionReporting.h:16:\r\r\n#include "SwiftStdint.h"\r\r\n ^\r\r\nC:\Library\Developer\Platforms\Windows.platform\Developer\SDKs\Windows.sdk\usr\lib\swift\shims/SwiftStdint.h:28:10: error: 'stdint.h' file not found\r\r\n#include \r\r\n ^\r\r\n:0: error: could not build C module 'SwiftShims'", diagnosticFile: nil)
start /w vs_community.exe --passive --wait --norestart --nocache ^
--installPath "%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Community" ^
--add Microsoft.VisualStudio.Component.Windows10SDK.19041 ^
--add Microsoft.VisualStudio.Component.VC.Tools.x86.x64
I get error message "cannot find vs-community.exe", although I have Visual Studio 2019 installed and running perfectly... I saw on the Internet that it has been renamed "devenv.exe", but this sounds fishy...
I just want to install swift on Windows so that I can recompile my Swift programs on Windows, and I am following exactly the instructions written on the Swift.org page. I am OK with using the regular prompt command for the installation, and I have no problem installing the "C++ Desktop workload" or any other missing componant, even though I don't know how. Can you tell me what command I should type in after:
"C++ Desktop workload" does not show up in any of the installation options I see in the "Workloads" page (see attached screenshot), and if I look up the keyword "Desktop" in the page "Individual Components", no component shows up...
Hmm, I thought the changes for python made it into 5.6.2. In any case, that is semi expected. Use the compiler not the interpreter. There are some more issues to be resolved there (the details are on the forums).
Actually I dont need to use the REPL, and I managed to build packages and compile my Swift programs on Windows and they run perfectly on my PC.
However, when I sent them to a colleague, he got a series of error messages about missing components: "swiftCRT.dll", "swiftCore.dll", "Foundation.dll", "swiftWinSDK.dll". There might be other missing components but he gave up at this point...
However, I cannot ask my "clients" (students in literature studies) who are using these programs to install dev tools, as they are not computer savvy and anyways have very limited access rights to the university's lab computers.
You can. If you are feeling adventurous, you can also use dark from the WiX toolset to extract the runtime and ICU MSIs from the installer package. Those contain all the runtime distribution components. I would like to see the MSIs available as a separate entity for redistribution (that is equivalent to the MSVCRT redistributable that you can download from Microsoft).
Many applications require redistributable Visual C++ runtime library packages to function correctly. These packages are frequently installed separately from the applications they support, enabling multiple applications to use the package with only a single installation. These Visual C++ redistributable and runtime packages are mostly installed for standard libraries that many applications use.[3]
There are several different version numbers to consider when working with Visual C or C++. The oldest and most original of these is the compiler version number, which has been monotonically increased since the early Microsoft C compiler days. This is the version returned by running the command cl.exe on its own without any options. By taking two digits after the decimal and dropping the decimal point, this also becomes the value of the C pre-processor macro: _MSC_VER, and the CMake variable: MSVC_VERSION. A longer version of the C macro is _MSC_FULL_VER to make more finely-grained distinctions between builds of the compiler. An example of _MSC_VER is "1933" to represent version 19.33 of the Microsoft C/C++ compiler, and of _MSC_FULL_VER is "193331630". You should use the >= operator to test the value of _MSC_VER or _MSC_FULL_VER instead of equality.
The Visual product version, such as "17.3.4", designates the version of Visual Studio with which version 19.33 of the compiler was packaged. Then there is the Microsoft Visual C/C++ Runtime Library version, e.g. "14.3". From this, one can deduce also the toolset version, which can be obtained by taking the first three digits of the runtime library version and dropping the decimal, e.g. "143". It includes the Visual C/C++ runtime library, as well as compilers, linkers, assemblers, other build tools, and matching libraries and header files. The following is a (scrapeable) table of the known correlated version numbers.
The Visual C++ compiler ABI have historically changed between major compiler releases.[54] This is especially the case for STL containers, where container sizes have varied a lot between compiler releases.[55] Microsoft therefore recommends against using C++ interfaces at module boundaries when one wants to enable client code compiled using a different compiler version. Instead of C++, Microsoft recommends using C[56] or COM[57] interfaces, which are designed to have a stable ABI between compiler releases.
Visual C++ ships with different versions of C runtime libraries.[59] This means users can compile their code with any of the available libraries. However, this can cause some problems when using different components (DLLs, EXEs) in the same program. A typical example is a program using different libraries. The user should use the same C Run-Time for all the program's components unless the implications are understood. Microsoft recommends using the multithreaded, dynamic link library (/MD or /MDd compiler option) to avoid possible problems.[59]
Although Microsoft's CRT implements a large subset of POSIX interfaces, the Visual C++ compiler will emit a warning on every use of such functions by default. The rationale is that C and C++ standards require an underscore prefix before implementation-defined interfaces, so the use of these functions are non-standard.[60] However, systems that are actually POSIX-compliant would not accept these underscored names, and it is more portable to just turn off the warning instead.
Although the product originated as an IDE for the C programming language, for many years the compiler's support for that language conformed only to the original edition of the C standard, dating from 1989, but not the C99 revision of the standard. There had been no plans to support C99 even in 2011, more than a decade after its publication.[61]
Visual C++ 2013 finally added support for various C99 features in its C mode (including designated initializers, compound literals, and the _Bool type),[62] though it was still not complete.[63] Visual C++ 2015 further improved the C99 support, with full support of the C99 Standard Library, except for features that require C99 language features not yet supported by the compiler.[64]
Most of the changes from the C11 revision of the standard were still not supported by Visual C++ 2017.[65] For example, generic selections via the _Generic keyword are not supported by the compiler and result in a syntax error.[66]
Full C11 conformance is on our roadmap, and updating the preprocessor is just the first step in that process. The C11 _Generic feature is not actually part of the preprocessor, so it has not yet been implemented. When implemented I expect the feature to work independently of if the traditional or updated preprocessor logic is used.
In September 2020, Microsoft announced C11 and C17 standards support in MSVC would arrive in version 16.8.[69] This did not include optional features but Microsoft indicated that they were planning to add support for atomics and threads at a later date. In version 17.5, partial (since atomic locks are missing) and experimental (meaning hidden behind the compiler flag /experimental:c11atomics) support for atomics was added[70] and in version 17.8, support for threads was added, this time not behind a compiler flag.[71][72]
With default settings MSVC does not do two-phase name lookup which prevents it from flagging a wide range of invalid code. Most checks are deferred to template instantiation. More recent versions remedy this behavior, but it needs to be enabled by the command-line option /permissive-.[73]
Microsoft Visual C++ Redistributable is an installer for Microsoft C and C++ runtime libraries. Many apps, programs, and games created using these two languages require the installation of these libraries to function correctly. The Visual C++ architecture installed must match the application's architecture to be run.
Sometimes, when installing a very recent game, it may not work. Most games usually include several additional installation packages, but sometimes they don't. When you download them from gaming platforms such as Steam, these redistributables are usually automatically installed on your computer.
If you've had Windows installed on your computer for several years, you will likely see redistributables installed from different years and versions, such as 2010, 2013, 2015, and 2022. This is because there are programs designed to work with a specific version of these libraries. Here at Uptodown, we offer downloads for the latest available versions for both 32- and 64-bit, taking into account that many are no longer supported.
3a8082e126