如何使用根库编译C ++程序包括使用g ++?

时间:2014-11-29 22:12:41

标签: c++ g++ root-framework

我编写了一个C ++程序(mainPixelDet1.C,它使用PixelDet1.C中定义的类),它在root的交互模式下工作。

但现在我想使用g ++在root之外编译它。

这是我在终端上写的内容:

g++ -o main mainPixelDet1.C PixelDet1.C `root-config --cflags --glibs`

这就是我得到的:

  

/ usr / bin / ld:找不到-lGraf3d
  usr / bin / ld:找不到-lPostscript
  / usr / bin / ld:找不到-lPhysics
  collect2:错误:ld返回1退出状态

2 个答案:

答案 0 :(得分:2)

您还必须将--ldflags包括在root-config中,以便root-config提供必要的库标记参数。

答案 1 :(得分:1)

我遇到了同样的问题,我刚刚解决了安装这些库的问题:"libroot-*""root-plugin-*""ttf-root-installer"。 如果您有兴趣,我会在ROOT论坛上找到答案,这里是链接: https://root.cern.ch/phpBB3/viewtopic.php?t=16352。 要安装库,可以在终端上编写以下命令行:

sudo apt-get install nameoflibrary