Skip to content

Autogenerated bindings to the CoinOR branch and cut solver

License

Notifications You must be signed in to change notification settings

routific/coin-or-cbc-sys

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Autogenerated bindings to the C interface of CBC.

The bindings depends on a local installation of the C++ library in a directory with a specific structure. The path to that directory is read during build time from the environment variable COIN_LIB_DIR. Such an setup can be achieved by following these instructions.

Installing COIN dependencies

We recommend using coinbrew. Download the script and run:

./coinbrew fetch \
  --main-proj=Cbc \
  --main-proj-version=stable/2.10 \
  --git

./coinbrew build \
  --main-proj=Cbc \
  --build-dir=$PWD/build \
  --prefix=$PWD/build \
  --test

If everything goes well 😅, you should get a message like:

Libraries have been installed in:
   <SOME_PATH>/build/lib

Then you can build the library with COIN_LIB_DIR=<SOME_PATH> cargo build.

Something went wrong?

  • check your version of bash to run the script. You may need to update your bash on mac with:
    brew install bash
  • check that you have the proper build dependencies. You may need to do:
    brew install gcc wget svn git
    to install dependencies, such as Fortran compiler which is required to build this lib.

Testing

For now there are only a couple very simple integration tests exercizing the bindings: COIN_LIB_DIR=<SOME_PATH> cargo test -- --nocapture.

License

This library is distributed under the MIT license. Note that the CBC library itself is distributed under the EPL.

About

Autogenerated bindings to the CoinOR branch and cut solver

Resources

License

Stars

Watchers

Forks

Packages

No packages published