From a1eb0b0e024f57d1a9ab3ac8dac982fd9dc366e2 Mon Sep 17 00:00:00 2001 From: Jeffrey Armstrong Date: Fri, 30 Oct 2020 09:44:17 -0400 Subject: Added documentation for using DLLs and a general overview. --- clp-dll/README.md | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'clp-dll') diff --git a/clp-dll/README.md b/clp-dll/README.md index 5e15171..6f67fa6 100644 --- a/clp-dll/README.md +++ b/clp-dll/README.md @@ -39,3 +39,32 @@ The above are the only files necessary for compiling and linking against the COI ## Compiling the Clp-Fortran Interface +When compiling the Fortran interface to a DLL, the linker must be provided with the static import libraries (ending in *.lib*) during the process. For simplicity, in the topmost directory, a Simply Fortran project, *libClpFortran.dll.prj* is included that is pre-configured to link with the two necessary import libraries that should reside in this directory. The resultant library DLL will be created in this directory as well. + +The project will also produce a static import library for the Fortran interface, nominally named *libClpFortran.dll.a*, in this directory that can be used for linking projects utilizing the Clp-Fortran interface as well. + +## Compiling Code that Uses the Clp-Fortran Interface + +To use the Clp-Fortran interface, code must link to the requisite DLL import libraries: + + * libClpFortran.dll.a + * Clp.dll.lib + * CoinUtils.dll.lib + +Additionally, the Fortran modules associated with the Clp-Fortran interface must be on the module search path for the compiler. The project mentioned above that is configured to build the Clp-Fortran interface DLL produces modules in the *modules* subdirectory of this directory. + +When running the executable, the following DLLs must be present in the same directory as the executable file: + + * libClpFortran.dll + * Clp-0.dll + * CoinUtils-0.dll + * coinasl-2.dll + * coinglpk-40.dll + +An example Simply Fortran project, *clp-example-using-dlls.prj*, is included in the parent directory that builds a converted version of the Clp example driver for the C interface. This example can be used as a starting point for additional projects as it has all compiler flags properly configured. + +--- + +*by Jeff Armstrong (jeff@approximatrix.com)* + +*Initial Release: 2020-10-30* -- cgit v1.2.3