我写了一个 C++ 程序(带有 main.cpp
以及各种头文件和实现文件),可以在 g++ 下正常编译。现在我试图在 Cern 的 ROOT 库中编译它,但我不知道如何,因为我知道如何在 ROOT 中编译文件的唯一方法是使用 .L main.cpp
.
如何在 ROOT 中包含多个文件?
最佳答案
使用 ROOT 的最可靠方法(至少在历史上和当前)是忽略解释器,而不是为了最简单的探索,并针对 ROOT 库显式编译 C++ 程序。例如,使用
g++ MySource.cc `root-config --libs --cflags` -o foo
从单个源文件编译可执行文件“foo”。有关该帮助程序脚本的更多信息,请运行“root-config --help”。
多文件程序/库没有什么特别之处,只要您提供所需的参数以指向 ROOT 库和 header (并且这些库在运行时在 LD_LIBRARY_PATH 中可用。)如果需要,标准 C++ 指南将解释该步骤。您也可以安全地将它放入 makefile 中。
在我看来,这比在 CINT 解释器中使用 .L 等命令更容易也更可靠。上次我尝试时,ACLiC 实际上是针对指定源文件的临时(和损坏的)版本进行编译,因此来自编译器的任何错误消息都几乎没有用!
关于c++ - 如何在ROOT下编译多个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7856665/