z3 minimum Visual Studio compiler version - z3

What is the minimum Visual Studio compiler that can be used to build z3? I have tried commit 2d2ec385410a133bfb8c699d1c2c85fcf141f4b8 from github, and it fails to build with both MSVC 2008 and 2010. We need it to work with MSVC 2008, but using that compiler to build resulted in a failure when trying to convert a const_iterator type to an iterator type. So I tried with MSVC 2010 and got this:
..\src\util\hwf.cpp(320) : error C3861: '_mm_fmadd_sd': identifier not found
Thanks,
Tom

Both, Visual Studio 2008 and 2010 are not supported anymore, by Z3 but also by the rest of Microsoft (mainstream support has ended earlier this year, see Support Lifecycle).
_mm_fmadd_sd is an intrinsic for floating-point fused-multiply-and, which is definitely available in VS 2010 and we built Z3 using VS 2010 for a very long time, so that can't be the problem. For some reason your header files don't contain that function declaration, or the compiler macros are set up incorrectly. Definitely make sure you're running the compilation in a VS2010 command prompt and that you're not using the Express edition (at the very least it doesn't come with OpenMP and possibly some other extensions as well).

Related

Visual Studio complains about using C# 8 language features when the LanguageVersion is set to 9 with ReSharper 2019 installed

I have a very odd problem where I will apply a recommended change that uses a C# 8.0 language feature (in this example I'll use compound assignment). I then get a red squiggly with the following message...
C# 8.0 language feature
This is a net5.0 project I have tried setting my language version property to any of the following...
<LangVersion>9</LangVersion>
<LangVersion>9.0</LangVersion>
<LangVersion>latest</LangVersion>
All of them show the same behaviour. The only way I can get the error to go away is by setting the property to 8 or 8.0 which seems a somewhat retrograde step!
I'm using Visual Studio 2019 and I'm fully patched and up to date as of the time of writing, along with the latest version of ReSharper.
The code will compile without problems but the squiggles are generating noise. Has anyone else found this and has any ideas how to make it go away?
This looks like it was a ReSharper issue - JetBrains have introduced a new tool called Jetbrains Toolbox that seems to manage their updates now. My installed package was telling me it was up to date when it wasn't - I looked deeper and I was running ReSharper 2019.1 and not 2021.1

Is it possible to develop f# using Visual Studio Express 2015 for Desktop?

I have been doing some programming in VB.NET on Visual Studio Express 2015 for Desktop. I recently started looking into F# and like the functional paradigm. As a result I have been trying to find a way to use VSE2015 as my IDE for F#. However, I have hit some problems. First of all, it has been difficult to find out if it is officially supported. The .NET blog suggests that it is (at least version 3.1.1, and the announcement for 4.0 RTM does not mention otherwise), but when I try to install F# Tools (4.0) it seems to choke on some components called VWD and WD(?). 3.1.1 seems to install OK, but then I still can't open any F# projects (fsproj). When I try to install FSharpVSPowerTools, it tells me that my platform is not supported.
Am I trying to do something that is not possible? Have I missed some steps? Any pointers would be appreciated. Thanks.
(Incidentally, I can't use the Community edition because of the licensing restrictions)
Edit: I have tried VS Code, but it works differently from VSE, and I would have to do a whole more learning. In addition, I want to use the VS template for creating XLL's. Edit 2: it has been pointed out that you can reference excel-dna in VS Code, but setting it up is not as straightforward as in VSE2015 (at least for VB.NET and C#.NET.

How to use TFS 2008 with Delphi 7 via MSBuild

Has anyone had any luck using MSBuild with Delphi 7 as part of a TFS 2008 (Microsoft Team Foundation Server 2008) integration? Curious if it is possible, and if it is, what is necessary to set it up.
Thanks!
Update: I am aware that the later versions of Delphi use MSBuild, but it would appear for right now upgrading isn't an option.
To use MSBuild with Delphi 7, you must first produce a representative .dproj file bearing the correct XML markup (as seen in later versions of Delphi). If you construct them properly, then MSBuild will recognize them, and (as directed in the XML markup) will place the appropriate calls to the Delphi 7 compiler.
It's simple enough, but it takes a lot of effort to manually produce the .dproj markup!
EDIT: This guy offers an apparently-functional automated solution to this problem, available on request!
You may write a MSBuild task that invokes dcc32.exe (delphi 7) and passes to it the appropriated commmand line (dpr file name). I wrote a similiar task for NANT in order to integrate delphi 7 with cc.net

Where can I get the F# Compiler and FSI v4.0?

I know I can download the "April CTP" to get F# 2.0 for .NET 2.0. But I need FSC and F# Interactive for .NET 4.0. On a machine with VS 2010 installed, it ends up in C:\Program Files (x86)\Microsoft F#\v4.0. Is there a redistributable for this?
If you installed Visual Studio 11 Beta or Visual Studio 2012, I recommend you check the following path, where you will find Fsi.exe and Fsc.exe.
C:\Program Files (x86)\Microsoft SDKs\F#\3.0\Framework\v4.0
Others have provided good answers; I'll summarize and add one more bit (2nd bullet):
We don't have any polished story here yet. We're working on one.
In the case of the compiler, you may be able to get by with the fsc.exe in the April CTP (it is capable of referencing .NET 4.0 assemblies and building .NET 4.0 assemblies, even though the compiler itself runs on 2.0). (Note that for building project files, you might also need the right Microsoft.FSharp.targets imported; I haven't worked all that through...)
If you were to copy the right assemblies and targets files from a VS2010 install to another machine, that would work, but offhand I don't know if that violates the VS license.
The existing downloadable "redist" does only contain FSharp.Core.dll.
(possibly see also this for a similar discussion but no extra info, as well as this Connect request)
The redistributable, for the F# runtime, is available at the following link, but unfortunately doesn't include the compiler or F# interactive:
http://www.microsoft.com/downloads/details.aspx?FamilyID=5f0a79f8-925f-4297-9ae2-86e2fdcff33c&displaylang=en
If you already have VS2010 installed on the machine there shouldn't be no need to install it, as the compiler, fsi, and F# runtime will be installed with VS. It should be just a matter of adding the directory containing the compiler to the path, so the shell can find it (if you want to use the compiler/fsc from the command-line).
This is an old question, but I came across it and thought that I'd add an update for people who find it through Google:
The current version of the F# CTP (April 2011) includes both .NET 2.0 and .NET 4.0 binaries, including FSI.exe. On my install...
.NET 2 = C:\Program Files (x86)\FSharp-2.0.0.0\bin\
.NET 4 = C:\Program Files (x86)\FSharp-2.0.0.0\v4.0\bin\
I think that there is no standalone installation of F# for .NET 4.0 (similar to the standalone installation for .NET 2.0). The reason probably is that F# for .NET 4.0 is simply meant to be distributed only as part of Visual Studio 2010 and not separately (just like other core Visual Studio languages).
If you need to use fsi.exe and fsc.exe for .NET 4.0 on a machine that doesn't have Visual Studio installed, you'll probably need to copy them together with the referenced libraries. This shouldn't be that difficult - you only need assemblies from "C:\Program Files (x86)\Microsoft F#\v4.0" together with FSharp.Core.dll (which should be added to the GAC) and (I think) also ISymWrapper.dll (but I'm not quite sure where this is located).

F# on/in SharpDevelop?

Is there an F# compiler (plugin?) for SharpDevelop? I use SharpDevelop on my netbook for hobby development and it would be cool to program in f# on it.
If you install the F# compiler, SharpDevelop 3.0 automatically supports it. (Oh well. At least people will get a good answer now.)
On Windows, I settled on Visual Studio Shell and the May F# CTP.
There's a rather old (Aug 2008) F# Plugin for MonoDevelop. Read more on its Wiki page.
For the F# compiler, download the xip file from the F# May 2009 CTP page. there are certain known issues with running it on Mono, just search for "F# Mono" for more info.
Now Visual Studio 2010 supports F#. However, that doesn't include the Express editions, so if you're looking for F# IDEs for free, then there's a MonoDevelop plugin (which needs v2.6 IIRC), you can install Visual Studio Shell Integrated and add FSharp to that, or SharpDevelop.
Of these, I'd probably recommend the Visual Studio Shell over the others as it seems to have the best integration between the editor window and the F# Console window. However, if you're interested in doing things cross-platform, then look at MonoDevelop, as you can make sure that something will work on Mono.

Resources