Hello Centos user. Im learning about c/c++ , so far every thing works great. The problem begins when I try to install a new library or a third party api. For example now I need to install the jsoncpp implementation in my centos box but I have no idea how to do it. I realized that my knolowge about those things is very poor. I would like to ask you for some documentation about libraries directories layout regarding c/c++ programing. Im not interested in the languaje it self but how to prepare my server to succesfully compile c/c++ programas. I hope someone can help my on this. Regards, Leo.
Leandro wrote:> Hello Centos user. > Im learning about c/c++ , so far every thing works great. > The problem begins when I try to install a new library or a third party > api. > For example now I need to install the jsoncpp implementation in my > centos box but I have no idea how to do it. > I realized that my knolowge about those things is very poor. > I would like to ask you for some documentation about libraries > directories layout regarding c/c++ programing. > Im not interested in the languaje it self but how to prepare my server > to succesfully compile c/c++ programas. >Read the manpage on yum to start. Do you have gcc++ installed? If not, yum install "Development tools" (assuming you're running CentOS 7; if you're on 6, it's yum groupinstall I suppose, if you really, *really* need a 2GB text editor, you could install eclipse. Then, understand that any package *should* install in the correct place. For some oddities, you might have to set the environment variable LD_LIBRARY_PATH. Finally, to see what libraries or compiler tools are available, yum list lib\*, etc. Also, check to see if you have rpmfusion and epel repos enabled. mark
On 11/6/2015 10:05 AM, Leandro wrote:> Im learning about c/c++ , so far every thing works great. > The problem begins when I try to install a new library or a third > party api. > For example now I need to install the jsoncpp implementation in my > centos box but I have no idea how to do it. > I realized that my knolowge about those things is very poor. > I would like to ask you for some documentation about libraries > directories layout regarding c/c++ programing. > Im not interested in the languaje it self but how to prepare my server > to succesfully compile c/c++ programas.DO not put anything you've built in any of the system libraries (/usr/lib, etc) unless you package your code as RPM for deployment. Libraries you compile for your own use would normally be put in a lib directory somewhere under your own home directory, perhaps under your project directory, and they should be referenced in your make file. .a, .o libraries that are in, say, $HOME/lib, can be referenced by -L$HOME/lib ... if these are .so libraries, if you specify the path to your /lib/ directory in the --rpath option to ld (the gnu linker) or -Wl,--rpath= when you use gcc++ to link for you, then at runtime it will look for the .so files in that path. if the programs you're compiling will be installed under /usr/local for system-wide use, then the required shared libraries should also be installed under /usr/local/something and that path should be passed to --rpath -- john r pierce, recycling bits in santa cruz