我试图创建最简单的可想象的SConstruct文件交叉编译一个程序。我尝试了不同的设置,最新的SConstruct文件如下:
env_options = {
"CC" : "arm-linux-gnueabihf-gcc",
"CXX" : "arm-linux-gnueabihf-g++",
"LD" : "arm-linux-gnueabihf-ld",
"AR" : "arm-linux-gnueabihf-ar",
"STRIP" : "arm-linux-gnueabihf-strip"
}
env = Environment(**env_options)
path = ['/path/to/toolchain/bin/']
env.Append( ENV = {'PATH' : path})
p = Program( "prog", [ "prog.c", "mylib.c" ], CFLAGS=[ '-Iinclude', '-Werror', '-Wall', '-Wextra' ] )env.Dump()的输出显示如下:
{ 'AR': 'arm-linux-gnueabihf-ar',
'CC': 'arm-linux-gnueabihf-gcc',
'CXX': 'arm-linux-gnueabihf-g++',
'ENV': { 'PATH': [ '/path/to/toolchain/bin/']},
'LD': 'arm-linux-gnueabihf-ld',
'TOOLS': [ 'default',
'gnulink',
'gcc',
'g++',
'gas',
'ar',
'filesystem',
'm4',
'zip']
}我在env.Dump()输出中没有看到任何意外(特别是没有标准的系统路径),并且认为如果scon找不到env_options中列出的工具,我至少会收到一条错误消息。相反,scon使用默认工具并为我的主机系统构建程序。我考虑过发布在here(1)和here(2)上的答案--到目前为止都没有成功。
arm-linux-gnueabihf-gcc-4.8.3,并且在ENV中没有像/bin/或/usr/bin这样的系统路径)?发布于 2015-07-29 18:13:00
p = Program( "prog", [ "prog.c", "mylib.c" ], CFLAGS=[ '-Iinclude', '-Werror', '-Wall', '-Wextra' ] )应该是
p = env.Program( "prog", [ "prog.c", "mylib.c" ], CFLAGS=[ '-Iinclude', '-Werror', '-Wall', '-Wextra' ] )使用程序代替env.Program使用没有CC等设置为任何非默认值的默认环境。
https://stackoverflow.com/questions/31707803
复制相似问题