你好,所有人
我有一个' "no source": Error: #5: cannot open source input file'报告给peripher_setup .c。
我检查了所有的路径和文件位置,看起来都是正确的。
我还检查了文件权限,并将整个文件层次结构设置为读/写访问。
我尝试删除并重新添加.c文件到项目中。
我查看了针对peripe_setup .c发出的编译器命令,发现它非常大,在单个Win7命令行上超过5kB。这可能是问题所在吗?
有一个称为“via files”的特性,通过从文件中读取编译器参数,允许更短的命令行。
我如何设置MDK5使用——通过?项目属性在C/ c++选项卡中有一个include编辑器,它似乎控制编译器命令的生成。
特别是……
我正在使用da14580_581_sdk_ .0.8.0的µVision V5.15,并试图编译我的第一个项目。
遵循“UM-B-003_DA14580_581软件开发指南_v1.6.pdf”到4.4节的末尾。
Win7x64运行。
*** Using Compiler 'V5.05 update 2 (build 169)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin'
构建目标“模板”
编译arch_main.c……
src\plf\refip\src\arch\main\ble\arch_main.c(39): error: #5: cannot open source input file " pher_setup .h":没有这样的文件或目录
# include“periph_setup.h”
src\plf\refip src\arch\main\ble\arch_main.c: 0 warning, 1 error
编译periph_setup.c……
"no source": Error: #5: cannot open source input file "..\. \. \src\modules\app\src\app_project\my_application\system\ extru_setup .c":没有这样的文件或目录
src\modules\app\src\app_project\my_application\system\外围_setup.c: 0 warning, 1 error
[…]
IDE-Version:
µV5.15愿景
ARM有限公司和ARM德国有限公司版权所有(C) 2015保留所有权利。
工具版本号:
工具链:MDK-Lite版本:5.15.0
工具链路径:C: \ Keil_v5 \ \ ARMCC \ Bin
C编译器:Armcc.exe V5.05 update 2 (build 169)
汇编程序:armsm .exe V5.05 update 2 (build 169)
链接器/定位器:ArmLink.exe V5.05 update 2 (build 169)
库管理器:ArmAr.exe V5.05 update 2 (build 169)
Hex Converter: FromElf.exe V5.05 update 2 (build 169)
CPU dll: sarmcm3.dll v5.15.0
对话框DLL: DARMCM1.DLL V1.12.0.0
目标DLL: Segger\JL2CM3.dll V2.99.15.0
对话框DLL: TARMCM1.DLL V1.9.0.0
问候,
欧文
较短的路径解决了问题。
当我将整个项目文件夹树移到文件系统中更高的位置时,编译成功了。我不知道具体原因,但可能与Win7x64对命令行长度、路径长度或文件夹嵌套的限制有关。
注意:在第一次运行MDK5时,我可以选择从MDK4格式升级项目,或者在MDK5中安装对MDK4的旧支持。我选择了升级这个项目。
为了让其他人判断他们自己的文件夹布局,我用c: BAD_PATH my_project。uvprojx和c: \ GOOD_PATH \ my_project。uvprojx。
长度(c:\BAD_PATH) = 193个字符,包括18个"\"
长度(c:\GOOD_PATH) = 113个字符包括11个"\"
问候,
欧文
欧文,谢谢你的反馈。BR JE_DIalog
我刚开始的时候也遇到过类似的问题。问题是下载的名字是da14580_581_sdk_3 .0.8. zip,解压缩它并接受默认路径,将它放到一个名为“DA14580_581_SDK_3.0.8.0”的目录中。Win7显然可以在目录名中使用点,但Keil uV 5x似乎不行。只需将目录复制到根目录并重命名它就解决了问题,之后我就能够编译/运行示例appa了。希望这个有帮助。