ライブラリ パスを構成する必要があります。これは、コンパイラ (この場合は 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()
代わりに使用してください。これで、同じ環境のすべてのビルダーがこれらのパスを使用します。この例では、Library()
とProgram()
ビルダーの両方が指定されたパスを使用します。
また、使用するパスがプロジェクト ディレクトリ内 (SConstruct の同じディレクトリまたはサブディレクトリ内) にある場合は、完全な絶対パスを使用する必要はありませんが、先頭に「#」を追加して、ルート レベルの SConstruct。