SCons - 非标准位置的标题/库

dja*_*dja 3 scons building

我正在尝试使用SCons编译一个程序,该程序需要一组依赖项,我已经安装在非标准位置.

我在/ home/dja/ocr中安装了依赖项.现在我正在尝试编译主程序,无法弄清楚如何告诉SCons在哪里查找库和头文件.

我试过(除其他外):

scons prefix=/home/dja/ocr

scons includepath=/home/dja/ocr/include libpath=/home/dja/ocr/lib

env LIBPATH=/home/dja/ocr/lib INCLUDEPATH=/home/dja/ocr/include scons

...etc...
Run Code Online (Sandbox Code Playgroud)

结果总是一样的:

scons: Reading SConscript files ...  
Currently supported OS version: Ubuntu 10.04  
Checking for C++ library iulib... no  
AssertionError: :  
  File "/home/dja/ocr/src/ocropus/SConstruct", line 107:  
    assert conf.CheckLibWithHeader("iulib","iulib/iulib.h","C++");  
Run Code Online (Sandbox Code Playgroud)

我无法在Google上找到答案.

什么是正确的SCons foo才能让它工作?

Hai*_* Vu 5

您需要创建一个环境并设置适当的变量:

env = Environment(
          CPPPATH=['/home/dja/ocr/include'],
          LIBPATH=['/home/dja/ocr/lib'],
          LIBS=['iulib'])
env.Program('my_executable', Glob('*.c'))
Run Code Online (Sandbox Code Playgroud)

CPPPATH指向C预处理器路径列表(注意:3 P).LIBPATH指向库所在的位置.最后,LIBS是一个与您的程序链接的库列表.