您需要配置库路径,这些路径是传递给编译器(在本例中为gcc)的传统“-L”标志。 (如果您使用的是g++
而不是gcc
呢?)
通过设置LIBPATH
SCons构建变量来完成此操作,如此处所述。请注意,SCons以便携方式执行此操作,因此您无需在路径中指定-L
。以下是我通常执行此操作的摘录:
libPaths = [
'/pathToNDK/build/cxx-stl/gnu-libstdc++/lib',
'/anotherLibPath',
'/and/yet/another'
]
includePaths = [
'/pathToNDK/build/cxx-stl/gnu-libstdc++/include',
'/anotherIncludePath',
'/and/yet/another/include'
]
env.Append(LIBPATH = libPaths, CPPPATH = includePaths)
env.Library(target='yourTarget', source = 'sourceFile.cc')
env.Program(target='yourBinary', source = 'yourSource')
注意,我还包括了如何指定包含路径(传递给编译器的传统“-I”标志)。这将把指定的包含和库路径附加到环境中。如果您不想附加,请改用
env.Replace()
。现在,同一env上的所有构建器都将使用这些路径,在此示例中,
Library()
和
Program()
构建器都将使用指定的路径。
另外,如果您要使用的路径位于项目目录内(在SConstruct的同一目录或子目录中),则无需使用完整的绝对路径,而是可以添加“#”,并指定相对于根级别SConstruct的路径。