aboutsummaryrefslogtreecommitdiff
path: root/clp-dll
diff options
context:
space:
mode:
authorJeffrey Armstrong <jeff@approximatrix.com>2020-10-30 09:44:17 -0400
committerJeffrey Armstrong <jeff@approximatrix.com>2020-10-30 09:44:17 -0400
commita1eb0b0e024f57d1a9ab3ac8dac982fd9dc366e2 (patch)
tree3e82e89669854e1208743971b12ee4ccc225f516 /clp-dll
parent2b934212019fc3156e6acfa0a559c8a4d6720090 (diff)
downloadclp_fortran-a1eb0b0e024f57d1a9ab3ac8dac982fd9dc366e2.tar.gz
clp_fortran-a1eb0b0e024f57d1a9ab3ac8dac982fd9dc366e2.zip
Added documentation for using DLLs and a general overview.
Diffstat (limited to 'clp-dll')
-rw-r--r--clp-dll/README.md29
1 files changed, 29 insertions, 0 deletions
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*