在SDK中开发PS程序时,如果改动工程配置中的Path and Symbols中Libraires参数,则可能出现链接时undefined reference的错误
因为添加的静态库失效,没有链接,原因在于改动Libraries之后,gcc的链接指令多出一个-l指令,与SDK建立工程时默认的Libraries的指令格式不匹配,导致链接失败
比如新建工程时,在工程上右键菜单选择Properties,弹出的属性窗口内打开Paths and Symbols,进入Libraries页
可以看到默认使用-Wl添加了xil, gcc和c这3个静态库
如果点击Cancel按钮关闭窗口,Build工程时链接指令为
aarch64-none-elf-gcc -Wl,-T -Wl,…/src/lscript.ld -L…/…/dadfad_bsp/psu_cortexa53_0/lib -o “dadfad.elf” ./src/helloworld.o ./src/platform.o -Wl,–start-group,-lxil,-lgcc,-lc,–end-group
链接正确,生成elf文件
如果点击OK按钮关闭窗口(没有任何改动),则Build工程师链接指令变为