From 0f982e7efcf0a1eb1e3b8054206ad940cd3e2ea4 Mon Sep 17 00:00:00 2001 From: Jeffrey Armstrong Date: Thu, 29 Oct 2020 10:27:08 -0400 Subject: Added projects for building and using DLLs for Clp --- clp-dll/README.md | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 clp-dll/README.md (limited to 'clp-dll') diff --git a/clp-dll/README.md b/clp-dll/README.md new file mode 100644 index 0000000..5e15171 --- /dev/null +++ b/clp-dll/README.md @@ -0,0 +1,41 @@ +# Using Pre-Build Clp Libraries + +The COIN Linear Programming libraries are distributed as Windows DLLs that have been compiled using Microsoft's tools. The resultant distributions can be used with modern GNU Compiler tools in the MinGW64 toolchain, including the compilers shipped with Simply Fortran. The following documents the necessary steps to deploy and use these prebuilt libraries. + +## Acquiring COIN Linear Programming binaries + +The binaries for the Clp library and required dependencies can be downloaded from: + +https://bintray.com/coin-or/download/Cbc + +The page lists multiple builds corresponding to different platforms and compiler versions. For simplicity and interoperability, the proper archive to download for Windows 10 64-bit is: + +**Cbc-refactor-win64-msvc16-md.zip** + +The version of the compiler (*msvc16*) does help indicate on what versions of Windows the libraries will work. If Windows 7 compatibility is necessary, an older archive (*msvc14*) might be superior. + +## Extract the Necessary Files + +To use the DLLs, we will need to pull three things from the downloaded archive: + + * The DLLs themselves + * Additional DLLs that provide dependencies + * The static libraries for linking purposes + +Within the archive, there will be four directories and some additional text files. To use Clp, the following files should be copied *into this directory* such that they can be used with the example Simply Fortran project: + + bin\Clp-0.dll + bin\CoinUtils-0.dll + bin\coinasl-2.dll + bin\coinglpk-40.dll + lib\Clp.dll.lib + lib\CoinUtils.dll.lib + +The files *Clp-0.dll* and *CoinUtils-0.dll* are the base libraries implementing Clp. These DLLs, in turn, depend on *coinasl-2.dll* and *coinglpk-40.dll* at runtime. All four DLLs must be in the same directory as any executale that is using them. + +The files *Clp.dll.lib* and *CoinUtils.dll.lib* are static libraries providing the necessary linking interface to these DLLs. The libraries are Microsoft-format, but modern GNU tools, including those shipped with Simply Fortran, can link against this format without any changes. + +The above are the only files necessary for compiling and linking against the COIN Linear Programming library from Fortran. If using C/C++ is planned, the corresponding header files would also be necessary. + +## Compiling the Clp-Fortran Interface + -- cgit v1.2.3