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

2024-01-18

我正在尝试使用 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...

结果总是相同的:

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++");  

我一直无法在谷歌上找到答案。

使其正常工作的正确 SCons foo 是什么?


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

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SCons - 非标准位置的标头/库 的相关文章

随机推荐