Snap7 Software Compatibility

 

Through the entire documentation, you will find detailed info about the software implementation and about the hardware compatibility.


This is an only brief list to quickly know if Snap7 meets your working environment.
As you can see, it was successfully tested into 60 OS/Distributions.

 

As general rule any 16 bit OS/Compiler is definitely not supported.

However there is a port of Snap7 for ARDUINO™, Settimino

 

OS

 

Microsoft Windows (x86-amd64)

 

32

64

Windows NT Workstation 4.0 SP6

O

 

Windows 2000 Professional

O

-

Windows 2003 Small Business Server

O

-

Windows 2003 Server R2

O

-

Windows 2008 Small Business Server

O

-

Windows 2008 Server RC2

O

O

Windows XP Professional SP3

O

O

Windows Vista

O

O

Windows 7 Home Premium

O

O

Windows 7 Professional

O

O

Windows 7 Ultimate

O

O

Windows 8 Professional

O

O

Windows 2010 Technical preview

O

O

Windows 95

X

 

Windows Me

X

 

 

GNU-Linux (i386/i686-amd64)

 

32

64

Centos 6.4

O

O

Debian 6.0.6

O

-

Debian 7.0.0

O

O

Fedora 18

O

-

Fedora 19

O

-

Knoppix 7

O

-

LinuxMint 14

O

O

LinuxMint 15

O

O

LinuxMint 16

O

O

OpenSuse 12.3

O

-

Red Hat 4.4.7-3

O

O

Semplice 4.0

O

O

Ubuntu 12.10

O

O

Ubuntu 13.04

O

O

Ubuntu 13.10

O

O

Ubuntu 14.04 LTS

O

O

Ubuntu 14.10

O

O

Ubuntu 15.04

O

O

VectorLinux 7.0

O

-

 

GNU-Linux (arm v6/v7 boards)

 

32

64

Raspberry PI, PI2 Raspbian “wheezy” (ARMHF)

O

 

BeagleBone Black - Angstrom 2013.06 (ARMHF)

O

 

CubieBoard 2 - Debian "wheezy" (ARMHF)

O

 

pcDuino - Ubuntu 12.04 (ARMHF)

O

 

UDOO - Ubuntu 12.04 (ARMHF)

O

 

 

BSD (i386-amd64)

 

32

64

FreeBSD 9.1

O

O

 

Oracle Solaris (i386-amd64/Sparc)

 

32

64

Solaris 11

O

-

OpenIndiana 151a7 (binary compatible with Solaris 11)

O

-

 

Apple OSX (i386-x86_64)

 

32

64

OSX 10.9.1 Mavericks

O

O

 

 

O

Works

-

Compatible but not tested

X

Does not work

 

Does not exists

missing OS releases / distributions / Platforms are to consider untested.

Wrappers

(Source code interface files and examples – see Snap7 Library API

 

Pascal  (snap7.pas)

 

Borland (or Inprise/CodeGear/Embarcadero) - Windows

 

32

64

Delphi 2

O

 

Delphi 3

O

 

Delphi 4

O

 

Delphi 5

O

 

Delphi 6

O

 

Delphi 7

O

 

Delphi 8

O

 

Delphi 2005

O

 

Delphi 2006 (BDS 2006 / TurboDelphi)

O

 

Delphi 2007

O

 

Delphi 2008

O

 

Delphi 2008 .NET

-

 

Delphi 2009

O

 

Delphi 2010

O

 

Delphi XE

O

 

Delphi XE2

O

O

Delphi XE3

O

O

Delphi XE4

O

O

Delphi XE5

O

O

missing releases are to consider untested

 

Borland - Linux

 

32

64

Kylix (1.0/1.5)

-

 

 

FreePascal - with Lazarus (when available)

 

Windows

Linux

BSD

Sol 11

Linux Arm

OSX

FPC 2.4.0

32

32

-

-

-

-

FPC 2.6.0

32/64

32/64

32/64

-

32

-

FPC 2.6.2

32/64

32/64

32/64

-

-

32

FPC 2.6.4

32/64

32/64

32/64

-

-

32

missing releases are to consider untested

 

CLR (snap7.net.cs)

 

Snap7 interface namespace is written in C#, the resulting compiled assembly snap7.net.dll can be used by all .net languages.

C# compiler

Windows

Linux

BSD

Sol 11

Linux Arm

OSX

Visual Studio 2008  (1)(2)

32/64

 

 

 

 

 

Visual Studio 2010  (1)(2)

32/64

 

 

 

 

 

Visual Studio 2012  (1)(3)

32/64

 

 

 

 

 

Visual Studio 2013  (1)(3)

32/64

 

 

 

 

 

Mono 2.10

32

32/64

-

-

(4)

-

missing releases are to consider untested

 

(1)   snap7.net.cs was compiled with the C# compiler supplied with Visual Studio, but the same compiler is part of the related .NET SDK

(2)   Using .NET Framework 3.5 SP1

(3)   Using .NET Framework 4.5

(4)   There is no Hard Float Mono release for Arm

C++ (snap7.cpp/snap7.h)

 

C++ compiler

Windows

Linux

BSD

Sol 11

Linux Arm

OSX

Visual Studio 2008  (1)

32/64

 

 

 

 

 

Visual Studio 2010  (1)

32/64

 

 

 

 

 

Visual Studio 2012  (1)

32/64

 

 

 

 

 

Visual Studio 2013  (1)

32/64

 

 

 

 

 

MinGW 32 4.7.2

32

 

 

 

 

 

MinGW 64 4.7.1 (2)

64

 

 

 

 

 

C++ Builder XE2 (3)

32

 

 

 

 

 

C++ Builder XE3 (3)

32

 

 

 

 

 

C++ Builder XE4 (3)

32/64

 

 

 

 

 

C++ Builder XE5 (3)

32/64

 

 

 

 

 

GNU g++ 4.6

 

32/64

32/64

-

32

 

GNU g++ 4.7

 

32/64

32/64

32

32

 

GNU g++ 4.9

 

32/64

32/64

32

32

 

Solaris studio Compiler

 

 

 

32 (4)

 

 

Xcode 5.0

 

 

 

 

 

32/64

missing releases are to consider untested

 

C (snap7.h)

  

C compiler

Windows

Linux

BSD

Sol 11

Linux Arm

OSX

Visual Studio 2008  (1)

32/64

 

 

 

 

 

Visual Studio 2010  (1)

32/64

 

 

 

 

 

Visual Studio 2012  (1)

32/64

 

 

 

 

 

Visual Studio 2013  (1)

32/64

 

 

 

 

 

MinGW 32 4.7.2

32

 

 

 

 

 

MinGW 64 4.7.1 (2)

64

 

 

 

 

 

C++ Builder XE2 (3)

32

 

 

 

 

 

C++ Builder XE3 (3)

32

 

 

 

 

 

Pelles C

X

 

 

 

 

 

LCC-Win32

X

 

 

 

 

 

LCC-Win64

X

 

 

 

 

 

GNU GCC 4.6

 

32/64

32/64

-

32

 

GNU GCC 4.7

 

32/64

32/64

32

32

 

GNU GCC 4.9

 

32/64

32/64

32

32

 

Solaris studio Compiler

 

 

 

32 (4)

 

 

Xcode 5.0

 

 

 

 

32/64

missing releases are to consider untested

 

(1)   Express release needs Windows Software Development Kit (SDK) to compile 64 bit applications.

(2)   This compiler (TDM 64-3) is able to produce also 32 bit binaries.

(3)   snap7.lib must be converted with coff2omf.exe in order to be used with this compiler.

(4)   Snap7 Library cannot be built with this compiler (see Rebuild Snap7), but having a working libsnap7.so compiled with the GNU toolchain, the wrapper snap7.cpp works well in user programs with Oracle Solaris Studio Compiler.

 

LabVIEW (lv_snap7.dll / snap7.lvlib)

 

Compiler

Windows

Linux

BSD

Sol 11

LabVIEW 2010

32

-

-

-

LabVIEW 2013

32/64

-

-

-

 

 

O

Tested - OK

32

32 Bit release

64

64 Bit release

-

Not tested

X

Does not work

 

Does not exists

 

 

Python

 

Please refer to python-snap7 project.

 

Node.js

 

Please refer to Node.js project.

 

Java

 

Please refer to Moka7 project.

 

ARDUINO

 

Please refer to Settimino project.