我正在尝试编译一个简单的可下载对象模块,以便在vxWorks 6.8上运行 . 我按照说明here . 我收到了一个错误,并希望有人可以对这个问题有所了解 . 提前致谢
#include <vxworks.h>
#include <stdio.h>
int helloworld()
{
printf("Hello World!!!");
return 0;
}
我按照上述链接中的说明运行以下构建命令
1.编译
C:/WindRiver/gnu/4.1.2-vxworks-6.8/x86-win32/bin/ccpentium.exe -o tester.o -march = pentium -fno-builtin -DINCLUDE_CPLUS -DINCLUDE_CPLUS_LANG -DINCLUDE_CPLUS_DEMANGLER -DINCLUDE_CPLUS_IOSTREAMS -DTOOL = gnu - DCPU = PENTIUM -D_VSB_CONFIG_FILE = \“C:/WindRiver/vxworks-6.8/target/lib/h/config/vsbConfig.h \” - I. -I $(WIND_BASE)/ target / h -I $(WIND_BASE)/target/h/make/rules.library -I $(WIND_BASE)/ target / h / wrn / coreip -c tester.cpp
2.运行蒙克
C:\ WindRiver \ utilities-1.0 \ x86-win32 \ bin \ nmpentium.exe tester.o | wtxtcl C:\ WindRiver \ vxworks-6.8 \ host \ resource \ hutils \ tcl \ munch.tcl -c pentium> ctdt.c
3.编译munch生成的ctdt.c文件
C:/WindRiver/gnu/4.1.2-vxworks-6.8/x86-win32/bin/ccpentium.exe -march = pentium -fdollars-in-identifiers -O2 -fno-builtin -I“C:\ WindRiver \ vxworks- 6.8 \ target \ h“-DINCLUDE_CPLUS -DINCLUDE_CPLUS_LANG -DINCLUDE_CPLUS_DEMANGLER -DINCLUDE_CPLUS_IOSTREAMS -DCPU = PENTIUM -DTOOL_FAMILY = gnu -DTOOL = gnu -c ctdt.c
错误
但是,每当编译ctdt.c时,我都会收到以下错误:
ctdt.c: In function '_STI__15_ctors':
ctdt.c:20: error: stray '\10' in program
ctdt.c:20: error: flexible array member in otherwise empty struct
抛出错误的代码行ctdt.c如下所示 . 注意,我必须将其作为图像包含在内,因为代码中有一个奇怪的字符,我无法弄清楚如何在这里显示
我相信错误与“在printf语句中有关 . 注释掉printf语句一切都将编译文件
1 回答
我解决了这个问题 . 上面的munch步骤不正确,应该是:C:\ WindRiver \ utilities-1.0 \ x86-win32 \ bin \ nmpentium.exe tester.o | tclsh C:\ WindRiver \ vxworks-6.8 \ host \ resource \ hutils \ tcl \ munch.tcl -c pentium> ctdt.c