SiFli-SDK 编译

发布于:2025-05-16 ⋅ 阅读:(14) ⋅ 点赞:(0)

1.编译报错 scons: *** No SConstruct file found.

出现这个错误是没有正确进入到工程目录执行编译命令,例如应该进入project目录中。

2.scons: *** [build_em-lb525_hcpu\src\resource\strings\en_us.c] AttributeError : 'dict' object has no attribute 'iteritems'
Traceback (most recent call last):
  File "C:\Users\Yjj\.sifli\python_env\sifli-sdk2.3_py3.13_env\Lib\site-packages\SCons\Action.py", line 1434, in execute
    result = self.execfunction(target=target, source=rsources, env=env)
  File "D:\jay_workspace\sifli\OpenSiFli\SiFli-SDK\tools\build\building.py", line 222, in LangBuild
    resource.GenerateStrRes(src_path, dst_path)
    ~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^
  File "D:\jay_workspace\sifli\OpenSiFli\SiFli-SDK\tools\build\resource.py", line 212, in GenerateStrRes
    GenerateLangCFile(str_file_basename, s, str_output_dir)
    ~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\jay_workspace\sifli\OpenSiFli\SiFli-SDK\tools\build\resource.py", line 100, in GenerateLangCFile
    for k, v in s.iteritems():
                ^^^^^^^^^^^
AttributeError: 'dict' object has no attribute 'iteritems'
scons: building terminated because of errors.

AttributeError: 'dict' object has no attribute 'iteritems',解决方案是:

Python3.x中不再支持iteritems(),所以将iteritems()改成items(),即dict.items()

3.UnicodeDecodeError: 'gbk' codec can't decode byte 0xa1 in position 38: illegal multibyte sequence

..\OpenSiFli\SiFli-SDK\tools\build\resource.py文件中

open函数中添加  encoding='utf-8'

4.'sftool' 不是内部或外部命令,也不是可运行的程序