我尝试为VxWorks创建应用程序,只需使用tftp获取文件。 但链接器不知道tftpInit()函数是什么。 这些是错误的例子:
dld: warning: Undefined symbol 'tftpPeerSet' in file 'lava-test/NonDebug/Objects/lava-test/lava-tests.o'
dld: warning: Undefined symbol 'tftpModeSet' in file 'lava-test/NonDebug/Objects/lava-test/lava-tests.o'
dld: warning: Undefined symbol 'tftpInit' in file 'lava-test/NonDebug/Objects/lava-test/lava-tests.o'
dld: warning: Undefined symbol 'tftpGet' in file 'lava-test/NonDebug/Objects/lava-test/lava-tests.o'
dld: warning: Undefined symbol 'tftpQuit' in file 'lava-test/NonDebug/Objects/lava-test/lava-tests.o'
包含vxcoreip
库(应该实现tftpInit)后,我遇到了下一个链接器错误:
dld: warning: Undefined symbol '__ctype' in file 'inetAddrLib.o(C:/WindRiver/vxworks-6.9/target/lib/arm/ARMARCH7/common\libvxcoreip.a)'
dld: warning: Undefined symbol 'iosDrvInstall' in file 'sockLib.o(C:/WindRiver/vxworks-6.9/target/lib/arm/ARMARCH7/common\libvxcoreip.a)'
dld: warning: Undefined symbol 'iosFdDrvValue' in file 'sockLib.o(C:/WindRiver/vxworks-6.9/target/lib/arm/ARMARCH7/common\libvxcoreip.a)'
dld: warning: Undefined symbol 'iosMaxFiles' in file 'sockLib.o(C:/WindRiver/vxworks-6.9/target/lib/arm/ARMARCH7/common\libvxcoreip.a)'
dld: warning: Undefined symbol 'iosFdNew' in file 'sockLib.o(C:/WindRiver/vxworks-6.9/target/lib/arm/ARMARCH7/common\libvxcoreip.a)'
请建议如何链接tftpLib。需要哪些库?
P.S。项目类型 - RTP(VxWorks 6.9)。开发环境 - Workbench 3.3
答案 0 :(得分:0)
确保您的“ vxworks映像项目”包含TFTP客户端组件。
vxprj component list | grep TFTP
并添加所有丢失的内容:
vxprj component add INCLUDE_TFTP_CLIENT
vxprj component add INCLUDE_IPTFTPC
vxprj component add INCLUDE_IPTFTP_CLIENT_COMMAND