3

我正在尝试使用名为Halide的图像处理领域特定语言(C++ 扩展)

Halide README之后,这是我尝试过的:

  1. 下载了Ubuntu 12.04 Halide 二进制文件,并解压到一个名为~/halide.
  2. 在该~/halide目录中,我创建了hello_halide.cpp,如本页Using Halide部分所述。
  3. 试图编译hello_halide.cpp

    g++-4.6 -std=c++0x hello_halide.cpp -L halide -lHalide -ldl -lpthread -o hello_halide

    但是,g++ 找不到 libhalide:

    /usr/bin/ld: error: cannot find -lHalide

  4. 尝试添加~/halide到我的$PATHand $LD_LIBRARY_PATH,但这没有帮助。

如何编译这个基本hello_halide.cpp的卤化物程序?


笔记:

  • CUDA 是 Halide 的依赖项之一。我已经安装了 CUDA,我可以编译/运行 CUDA 程序。
  • 我正在使用 Ubuntu 12.04。
  • 我的 g++ 版本是 4.6.3。
4

1 回答 1

1

-L halide告诉链接器在子目录中查找库halide。在这种情况下,这意味着您的源文件hello_halide.cpp应该在一个文件夹~/myfolder/中,而库libHalide.so~/myfolder/halide/libHalide.so(或者.a如果它是静态的)。如果它在其他地方,请将绝对路径传递给-L.

LD_LIBRARY_PATH您设置or的想法PATH不起作用,因为后者用于搜索可执行文件的目录,而前者用于在您启动需要共享库的可执行文件时搜索共享库的目录。

于 2013-01-28T01:05:20.563 回答