0

我最近在带有 Pixel 的 Raspbian Jessie 的 Raspberry Pi 3 上使用了 Adafruit(此处)提供的 Neopixel 库。Adafruit 使用 Scons 脚本文件来管理构建:

征兵文件:

Import(['clean_envs'])

    tools_env = clean_envs['userspace'].Clone()


    # Build Library
    lib_srcs = Split('''
        mailbox.c
        ws2811.c
        pwm.c
        dma.c
        rpihw.c
    ''')

    version_hdr = tools_env.Version('version')
    ws2811_lib = tools_env.Library('libws2811', lib_srcs)
    tools_env['LIBS'].append(ws2811_lib)

    # Shared library (if required)
    ws2811_slib = tools_env.SharedLibrary('libws2811', lib_srcs)

    # Test Program
    srcs = Split('''
        main.c
    ''')

    objs = []
    for src in srcs:
       objs.append(tools_env.Object(src))

    test = tools_env.Program('test', objs + tools_env['LIBS'])

    Default([test, ws2811_lib])

S构造文件:

import os


opts = Variables()
opts.Add(BoolVariable('V',
                      'Verbose build',
                      False))

platforms = [ 
    [
        'userspace',            # Target Name
        [ 'linux', 'version' ], # Scons tool (linux, avr, etc.)
        {                       # Special environment setup
            'CPPPATH' : [
            ],
            'LINKFLAGS' : [
            ],
        },
    ], 
]

clean_envs = {}
for platform, tool, flags in platforms:
    env = Environment(
        options = opts,
        tools = tool,
        toolpath = ['.'],
        ENV = {'PATH' : os.environ['PATH']},
        LIBS = [],
    )
    env.MergeFlags(flags)
    clean_envs[platform] = env

Help(opts.GenerateHelpText(clean_envs))

Export(['clean_envs'])
SConscript('SConscript');

我的问题是我目前使用 gcc 来链接 WiringPi 库,我在编译期间使用“-lwiringPi”选项。

如何在我的 scons 脚本文件中添加到 WiringPi 的链接?

非常感谢您的帮助,祝您有美好的一天!

雨果。

4

0 回答 0