frePPLeOpen source Production Planning
  • Home
  • Documentation
  • C++ API

Compiling on Windows

Different options exist to compile Frepple under windows:

  • Microsoft Visual C++ Compiler
  • Cygwin Compiler

The executables and extension modules created by these compilers are not compatible with each other.

Compiling using Microsoft Visual C++ compiler

FrePPLe comes with Microsoft Visual C++ projects and workspaces to compile the code.
The solution file is contrib/vc/frepple.sln and more detailed build instructions are provided in the README.txt file in this directory.

The project configuration files are generated with version Visual Studio Express C++ 2008 (aka vc9), which can be downloaded freely from the Microsoft website.

For the Windows build, you will also need to install:

  • Python 2.7
  • Xerces-C 3.1 (best is to install the precompiled binaries for vc9)
  • Optional, glpk 4.25 or higher (easy to compile from source code with its build script)

A convenience script contrib/vc/build.bat is provided to rebuild the source code from the command line. The script needs to edited to point to the installation folders of all components.

To compile from the IDE, the include and library directories of these 2 external projects need to configured to point to the install directory of all components.

Warning: Compiling with Visual Studio C++ 2010 or later will NOT work. This is because Python and all its extension modules are compiled with vc9, and mixing CRTs from different compilers is never a good idea.

Optionally, if you are interested in some of the add-ons in the contrib subdirectory, follow the instructions in the README.txt file in each of the add-on directory.
As a reference, here is a brief summary list of the components you’ld need to install for this:

  1. NSIS, version greater or equal to 2.07
    NSIS, which stands for “Nullsoft Scriptable Installation System”, is a free scriptable win32 installer/uninstaller system that doesn’t suck and isn’t huge.
    This program can be downloaded from http://nsis.sf.net and you’ll only need it if you are planning to create a windows installation package.
  2. py2exe, 0.6.9 or later
    Py2exe is a Python Distutils extension which converts Python scripts into executable Windows programs, able to run without requiring a Python installation.
    The software is used only when creating the windows installer. It can be downloaded fromhttp://www.py2exe.org/.
  3. CherryPy, version 3.1.2 or later
    CherryPy is a pythonic, object-oriented HTTP framework.
    FrePPLe uses it as web server embedded in the Windows stand-alone application. The software is used only when creating the windows installer. It can be downloaded fromhttp://www.cherrypy.org/.
  4. PyWin32, 214 or later
    PyWin32 is an interface to Windows APIs from Python.
    FrePPLe uses this component to run the CherryPy web server as a service. The download location is http://sourceforge.net/projects/pywin32/.

Compiling using the Cygwin compiler

Cygwin is a Linux-like environment for Windows. The Cygwin environment can be downloaded free of charge from http://www.cygwin.com.

The build instructions on Cygwin are identical to the Linux and Unix platforms.

Compared to the other platforms and compilers, the Cygwin executables are considerably slower.
The Cygwin build is not recommended for production environments on Windows. It should be seen as a test and development setup for a *nix environment.

    • Getting started
      • 1 – Introduction
      • 2 – Installation
      • 3 – Entering data
      • 4 – Modelling concepts
      • 5 – Your first model
      • 6 – Your first plan
    • Modeling guide
      • Simplified domain model
      • Detailed domain model
      • Environment variables
      • Python interpreter
      • Global parameters
      • Buffer
      • Calendar
      • Customer
      • Demand
      • Flow
      • Item
      • Load
      • Location
      • Operation
      • Suboperation
      • Operationplan
      • Problem
      • Resource
      • SetupMatrix
      • Skill
      • Resource skill
      • Solver
    • User guide
      • Supported browsers
      • Getting around
        • Logging in
        • Logging out
        • Changing password
        • Navigation
          • Menu bar
          • Jump search
          • Context menus
        • Filtering data
        • Sorting data
        • Selecting time buckets
        • Exporting data
        • Importing data
        • Customizing a screen
        • User preferences
        • User permissions and roles
        • Comments
        • History – Audit trail
      • Data maintenance screens
      • Supply Path / Where Used
      • Plan analysis screens
        • Problem report
        • Constraint report
        • Inventory report
        • Inventory detail report
        • Resource report
        • Resource Gantt report
        • Resource detail report
        • Operation report
        • Operation detail report
        • Demand report
        • Demand detail report
        • Demand Gantt report
        • Forecast report
        • Performance indicator report
      • Execution screen
      • Batch commands
        • frepplectl
        • frepple
        • freppleservice.exe (Windows only)
    • Installation guide
      • Windows installer
      • Compiling on Windows
      • Linux binary packages
      • Compiling on Linux
      • Compiling from the source code repository
      • Running the VMWare virtual machine
      • Other platforms
      • Configuring multiple models in the user interface
      • Configuring as a Python extension module
    • Extension modules
      • Forecast module
      • Order quoting module
      • REST web service module
      • OpenERP connector module
      • Linear programming solver module
    • Technical guide
      • Architecture
      • Source code repository
      • User interface
        • Creating an extension app
        • Translating the user interface
        • Adding or customizing a report
        • Style guide
      • Solver engine
        • Code structure
        • Class diagram
        • Planning algorithm
          • Top level loop
          • Demand solver
          • Buffer solver
          • Flow solver
          • Load solver
          • Operation solver
          • Resource solver
        • Cluster and level algorithm
        • Extension modules
        • Style guide
        • Portability
      • Security
      • Unit tests
        • buffer_procure_1
        • calendar
        • callback
        • cluster
        • constraints_combined_1
        • constraints_combined_2
        • constraints_leadtime_1
        • constraints_material_1
        • constraints_material_2
        • constraints_material_3
        • constraints_material_4
        • constraints_resource_1
        • constraints_resource_2
        • constraints_resource_3
        • constraints_resource_4
        • constraints_resource_5
        • datetime
        • deletion
        • demand_policy
        • flow_alternate_1
        • flow_alternate_2
        • flow_effective
        • forecast_1
        • forecast_2
        • forecast_3
        • forecast_4
        • forecast_5
        • forecast_6
        • jobshop
        • load_alternate
        • load_effective
        • lpsolver_1
        • multithreading
        • name
        • operation_alternate
        • operation_available
        • operation_effective
        • operation_pre_post
        • operation_routing
        • pegging
        • problems
        • python_1
        • python_2
        • python_3
        • safety_stock
        • sample_module
        • scalability_1
        • scalability_2
        • scalability_3
        • setup_1
        • setup_2
        • skill
        • xml
        • xml_remote
    • FAQ
    • License
      • GNU Affero General Public License
      • GNU Free Documentation License
    • Third party add-ons
  • Copyright © 2010-2013 frePPLe bvba