These directories contain the Visual Studio version of Ipopt. They have been created with Microsoft Visual C++ .NET 2003 and Intel Fortran 8.0. Before opening the files in your Visual Studio, first make sure that the following third party source files are present (after you got them from netlib and Harwell): trunk/Extern/HSL/ma27ad.f trunk/Extern/HSL/mc19ad.f trunk/Extern/blas/dasum.f trunk/Extern/blas/daxpy.f trunk/Extern/blas/dcopy.f trunk/Extern/blas/ddot.f trunk/Extern/blas/dnrm2.f trunk/Extern/blas/dscal.f trunk/Extern/blas/idamax.f Then open the solution file trunk/Windows/VisualStudio_dotNET/Ipopt/Ipopt.sln This solution compiles both a Fortran example problem and a C++ example problem. You should be able to base your development on one of these examples. Here are some helpful notes if you are building a new C++ project. - The project type used for the example was "Win32 Console" (Not .NET Console!) - Precompiled headers were turned off: Project Properties | C/C++ | Precompiled-Headers | Create/Use Precompiled Headers = "Not Using Precompiled Headers" - You will need to add the include directories to your C++ project you can copy these from the Ipopt project: Project Properties | C/C++ | General | Additional Include Directories = - You must ensure that the run-time libraries between FortranLinAlg and the C++ project are compatible. Look at the "Mixed Language" area of the Intel Fortran compiler html help for a table of compatible settings (look for something about consistent run-time libraries in help) These are set by: 1) for the C++ project Project Properties | C/C++ | Code Generation | Runtime Library 2) for the Fortran project FortranLinAlg Properties | Fortran | Libraries | Runtime Library - You must add the Fortran compiler LIB path to the C++ project This is something like "C:\Program Files\Intel\Fortran\compiler80\IA32\LIB": Project Properties | Linker | General | Additional Library Directories =