我确实编写了我的SConstruct文件,因此我通过执行scons run
program = env.Program('build/output', Glob('build/test/*.cpp'))
env.Default(program)
env.Alias('run', program, program[0].abspath)
我可以编译我的程序并运行它没有问题,但当我尝试在我的程序中使用过剩和opengl时,我有以下错误:
/家庭/ TRAN /工作区/ bobail /构建/测试/检验
freeglut(/ home / tran / workspace / bobail / build / test / test):无法打开显示''
经过一番搜索,我发现我编译的程序需要将环境变量DISPLAY设置为DISPLAY=:0
。我尝试使用Scons Export命令但到目前为止没有成功。
有人可以告诉我该怎么做。
编辑:如果我从命令行而不是Scons环境执行它,我的程序工作正常。
答案 0 :(得分:3)
我发现了怎么做。您需要检索DISPLAY全局环境并在scons环境中导入它。您可以使用此环境来定义运行程序的别名。
test_env = Environment()
test_env.Append(ENV = {'DISPLAY' : os.environ['DISPLAY']})
test = test_env.Program(build_path + '/test/test', Glob(build_path + '/test/*.cpp'))
test_env.Alias('check', test, test[0].abspath)