C++ – Unable to Use Included Library Pokerstove in Ubuntu 14.04

clibraries

guys! I just included this pokerstove library with help of good instructions and with help of this website and its users

I ran all commands in my home directory which is

girts@girts-ThinkPad-E520:~$

And the commands were these after installing all necessary tools

git clone https://github.com/andrewprock/pokerstove.git
mkdir pokerstove/src/build
cd pokerstove/src/build
cmake ..
make

As you see I ended up in this directory

girts@girts-ThinkPad-E520:~/pokerstove/src/build$

and I did successfully run the command the creator of this library suggested to run which was

girts@girts-ThinkPad-E520:~/pokerstove/src/build$ bin/ps-eval

Before I also installed boost libraries and tested that they work great
Now however I tried compile this simple ggg.cpp file that includes also these new pokerstove libraries
Here is the code

#include <iostream>
#include <vector>
#include <boost/algorithm/string.hpp>
#include <boost/math/special_functions/binomial.hpp>
#include <boost/foreach.hpp>
#include <boost/format.hpp>
#include <boost/lexical_cast.hpp>
#include <pokerstove/util/combinations.h>
#include <pokerstove/peval/Card.h>

int main(){

    std::cout << "Hello World!" << std::endl;
}

When i tryed to compile using

girts@girts-ThinkPad-E520:~/pokerstove/src/build$ g++ -o programma
ggg.cpp

compiler gave me this error

ggg.cpp:8:42: fatal error: pokerstove/util/combinations.h: No such
file or directory  #include <pokerstove/util/combinations.h>
                                          ^ compilation terminated.

Is there anything I have done wrong? (Of course there is otherwise there wouldn't be this problem) Maybe installed it in some place where I shouldn't or something like that?

Best Answer

Add the path for the include files:

$ g++ -o programma ggg.cpp -I/home/<your_username>/pokerstove/src/lib
$ ./programma 
Hello World!

-I<path_to_pokersove_headers> - To specify a directory to search for header files

E.G.:

    $ find -name combinations.h
    ./pokerstove/src/lib/pokerstove/util/combinations.h

therefore use a relative path: ./pokerstove/src/lib/
or an absolute path: /home/<your_username>/pokerstove/src/lib/