[Expat-discuss] Q: every .c needed?

Yin Wei (Olivia) Yin.Wei at autodesk.com
Wed Aug 20 04:35:32 CEST 2008


Hi,

I am using expat2.0 now and try to port to Linux. In expat.vcproj,  actually,  xmltok_impl.c and xmltok_ns.c were not added to the project.
But I use a wildcard  to match all the .c (*.c), so every .c can be compiled in gcc. Then found following errors:

gcc -o /home/weiy/Desktop/ADP/external/expat/2.0/expat/xmltok_impl.o -c -DNDEBUG -I/home/weiy/Desktop/ADP/external/expat /home/weiy/Desktop/ADP/external/expat/2.0/expat/xmltok_impl.c
/home/weiy/Desktop/ADP/external/expat/2.0/expat/xmltok_impl.c:90: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'scanComment'
/home/weiy/Desktop/ADP/external/expat/2.0/expat/xmltok_impl.c:128: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'scanDecl'
/home/weiy/Desktop/ADP/external/expat/2.0/expat/xmltok_impl.c:175: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'checkPiTarget'
/home/weiy/Desktop/ADP/external/expat/2.0/expat/xmltok_impl.c:220: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'scanPi'
/home/weiy/Desktop/ADP/external/expat/2.0/expat/xmltok_impl.c:282: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'scanCdataSection'
/home/weiy/Desktop/ADP/external/expat/2.0/expat/xmltok_impl.c:302: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'cdataSectionTok'
/home/weiy/Desktop/ADP/external/expat/2.0/expat/xmltok_impl.c:380: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'scanEndTag'
/home/weiy/Desktop/ADP/external/expat/2.0/expat/xmltok_impl.c:429: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'scanHexCharRef'
/home/weiy/Desktop/ADP/external/expat/2.0/expat/xmltok_impl.c:461: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'scanCharRef'
/home/weiy/Desktop/ADP/external/expat/2.0/expat/xmltok_impl.c:493: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'scanRef'
/home/weiy/Desktop/ADP/external/expat/2.0/expat/xmltok_impl.c:523: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'scanAtts'
/home/weiy/Desktop/ADP/external/expat/2.0/expat/xmltok_impl.c:682: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'scanLt'
/home/weiy/Desktop/ADP/external/expat/2.0/expat/xmltok_impl.c:782: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'contentTok'
/home/weiy/Desktop/ADP/external/expat/2.0/expat/xmltok_impl.c:881: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'scanPercent'
/home/weiy/Desktop/ADP/external/expat/2.0/expat/xmltok_impl.c:910: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'scanPoundName'
/home/weiy/Desktop/ADP/external/expat/2.0/expat/xmltok_impl.c:937: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'scanLit'
/home/weiy/Desktop/ADP/external/expat/2.0/expat/xmltok_impl.c:969: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'prologTok'
/home/weiy/Desktop/ADP/external/expat/2.0/expat/xmltok_impl.c:1200: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'attributeValueTok'
/home/weiy/Desktop/ADP/external/expat/2.0/expat/xmltok_impl.c:1258: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'entityValueTok'
/home/weiy/Desktop/ADP/external/expat/2.0/expat/xmltok_impl.c:1368: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'isPublicId'
/home/weiy/Desktop/ADP/external/expat/2.0/expat/xmltok_impl.c:1428: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'getAtts'
/home/weiy/Desktop/ADP/external/expat/2.0/expat/xmltok_impl.c:1521: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'charRefNumber'
/home/weiy/Desktop/ADP/external/expat/2.0/expat/xmltok_impl.c:1565: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'predefinedEntityName'
/home/weiy/Desktop/ADP/external/expat/2.0/expat/xmltok_impl.c:1619: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'sameName'
/home/weiy/Desktop/ADP/external/expat/2.0/expat/xmltok_impl.c:1683: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'nameMatchesAscii'
/home/weiy/Desktop/ADP/external/expat/2.0/expat/xmltok_impl.c:1696: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'nameLength'
/home/weiy/Desktop/ADP/external/expat/2.0/expat/xmltok_impl.c:1723: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'skipS'
/home/weiy/Desktop/ADP/external/expat/2.0/expat/xmltok_impl.c:1739: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'updatePosition'
scons: *** [/home/weiy/Desktop/ADP/external/expat/2.0/expat/xmltok_impl.o] Error 1


if add the two .c files in VC9.0, errors will be:

1>xmltok_impl.c
1>..\..\expat\xmltok_impl.c(90) : error C2061: syntax error : identifier 'scanComment'
1>..\..\expat\xmltok_impl.c(90) : error C2059: syntax error : ';'
1>..\..\expat\xmltok_impl.c(90) : error C2059: syntax error : '<cv-qualifer>'
1>..\..\expat\xmltok_impl.c(128) : error C2061: syntax error : identifier 'scanDecl'
1>..\..\expat\xmltok_impl.c(128) : error C2059: syntax error : ';'
1>..\..\expat\xmltok_impl.c(128) : error C2059: syntax error : '<cv-qualifer>'
1>..\..\expat\xmltok_impl.c(175) : error C2061: syntax error : identifier 'checkPiTarget'
1>..\..\expat\xmltok_impl.c(175) : error C2059: syntax error : ';'
1>..\..\expat\xmltok_impl.c(175) : error C2059: syntax error : '<cv-qualifer>'
1>..\..\expat\xmltok_impl.c(220) : error C2061: syntax error : identifier 'scanPi'
1>..\..\expat\xmltok_impl.c(220) : error C2059: syntax error : ';'
1>..\..\expat\xmltok_impl.c(220) : error C2059: syntax error : '<cv-qualifer>'
1>..\..\expat\xmltok_impl.c(282) : error C2061: syntax error : identifier 'scanCdataSection'
1>..\..\expat\xmltok_impl.c(282) : error C2059: syntax error : ';'
1>..\..\expat\xmltok_impl.c(282) : error C2059: syntax error : '<cv-qualifer>'
1>..\..\expat\xmltok_impl.c(302) : error C2061: syntax error : identifier 'cdataSectionTok'
1>..\..\expat\xmltok_impl.c(302) : error C2059: syntax error : ';'
1>..\..\expat\xmltok_impl.c(302) : error C2059: syntax error : '<cv-qualifer>'
1>..\..\expat\xmltok_impl.c(380) : error C2061: syntax error : identifier 'scanEndTag'
1>..\..\expat\xmltok_impl.c(380) : error C2059: syntax error : ';'
1>..\..\expat\xmltok_impl.c(380) : error C2059: syntax error : '<cv-qualifer>'
1>..\..\expat\xmltok_impl.c(429) : error C2061: syntax error : identifier 'scanHexCharRef'
1>..\..\expat\xmltok_impl.c(429) : error C2059: syntax error : ';'
1>..\..\expat\xmltok_impl.c(429) : error C2059: syntax error : '<cv-qualifer>'
1>..\..\expat\xmltok_impl.c(461) : error C2061: syntax error : identifier 'scanCharRef'
1>..\..\expat\xmltok_impl.c(461) : error C2059: syntax error : ';'
1>..\..\expat\xmltok_impl.c(461) : error C2059: syntax error : '<cv-qualifer>'
1>..\..\expat\xmltok_impl.c(493) : error C2061: syntax error : identifier 'scanRef'
1>..\..\expat\xmltok_impl.c(493) : error C2059: syntax error : ';'
1>..\..\expat\xmltok_impl.c(493) : error C2059: syntax error : '<cv-qualifer>'
1>..\..\expat\xmltok_impl.c(523) : error C2061: syntax error : identifier 'scanAtts'
1>..\..\expat\xmltok_impl.c(523) : error C2059: syntax error : ';'
1>..\..\expat\xmltok_impl.c(523) : error C2059: syntax error : '<cv-qualifer>'
1>..\..\expat\xmltok_impl.c(682) : error C2061: syntax error : identifier 'scanLt'
1>..\..\expat\xmltok_impl.c(682) : error C2059: syntax error : ';'
1>..\..\expat\xmltok_impl.c(682) : error C2059: syntax error : '<cv-qualifer>'
1>..\..\expat\xmltok_impl.c(782) : error C2061: syntax error : identifier 'contentTok'
1>..\..\expat\xmltok_impl.c(782) : error C2059: syntax error : ';'
1>..\..\expat\xmltok_impl.c(782) : error C2059: syntax error : '<cv-qualifer>'
1>..\..\expat\xmltok_impl.c(881) : error C2061: syntax error : identifier 'scanPercent'
1>..\..\expat\xmltok_impl.c(881) : error C2059: syntax error : ';'
1>..\..\expat\xmltok_impl.c(881) : error C2059: syntax error : '<cv-qualifer>'
1>..\..\expat\xmltok_impl.c(910) : error C2061: syntax error : identifier 'scanPoundName'
1>..\..\expat\xmltok_impl.c(910) : error C2059: syntax error : ';'
1>..\..\expat\xmltok_impl.c(910) : error C2059: syntax error : '<cv-qualifer>'
1>..\..\expat\xmltok_impl.c(937) : error C2061: syntax error : identifier 'scanLit'
1>..\..\expat\xmltok_impl.c(937) : error C2059: syntax error : ';'
1>..\..\expat\xmltok_impl.c(937) : error C2059: syntax error : 'type'
1>..\..\expat\xmltok_impl.c(969) : error C2061: syntax error : identifier 'prologTok'
1>..\..\expat\xmltok_impl.c(969) : error C2059: syntax error : ';'
1>..\..\expat\xmltok_impl.c(969) : error C2059: syntax error : '<cv-qualifer>'
1>..\..\expat\xmltok_impl.c(1200) : error C2061: syntax error : identifier 'attributeValueTok'
1>..\..\expat\xmltok_impl.c(1200) : error C2059: syntax error : ';'
1>..\..\expat\xmltok_impl.c(1200) : error C2059: syntax error : '<cv-qualifer>'
1>..\..\expat\xmltok_impl.c(1258) : error C2061: syntax error : identifier 'entityValueTok'
1>..\..\expat\xmltok_impl.c(1258) : error C2059: syntax error : ';'
1>..\..\expat\xmltok_impl.c(1258) : error C2059: syntax error : '<cv-qualifer>'
1>..\..\expat\xmltok_impl.c(1368) : error C2061: syntax error : identifier 'isPublicId'
1>..\..\expat\xmltok_impl.c(1368) : error C2059: syntax error : ';'
1>..\..\expat\xmltok_impl.c(1368) : error C2059: syntax error : '<cv-qualifer>'
1>..\..\expat\xmltok_impl.c(1428) : error C2061: syntax error : identifier 'getAtts'
1>..\..\expat\xmltok_impl.c(1428) : error C2059: syntax error : ';'
1>..\..\expat\xmltok_impl.c(1428) : error C2059: syntax error : '<cv-qualifer>'
1>..\..\expat\xmltok_impl.c(1521) : error C2061: syntax error : identifier 'charRefNumber'
1>..\..\expat\xmltok_impl.c(1521) : error C2059: syntax error : ';'
1>..\..\expat\xmltok_impl.c(1521) : error C2059: syntax error : '<cv-qualifer>'
1>..\..\expat\xmltok_impl.c(1565) : error C2061: syntax error : identifier 'predefinedEntityName'
1>..\..\expat\xmltok_impl.c(1565) : error C2059: syntax error : ';'
1>..\..\expat\xmltok_impl.c(1565) : error C2059: syntax error : '<cv-qualifer>'
1>..\..\expat\xmltok_impl.c(1619) : error C2061: syntax error : identifier 'sameName'
1>..\..\expat\xmltok_impl.c(1619) : error C2059: syntax error : ';'
1>..\..\expat\xmltok_impl.c(1619) : error C2059: syntax error : '<cv-qualifer>'
1>..\..\expat\xmltok_impl.c(1683) : error C2061: syntax error : identifier 'nameMatchesAscii'
1>..\..\expat\xmltok_impl.c(1683) : error C2059: syntax error : ';'
1>..\..\expat\xmltok_impl.c(1683) : error C2059: syntax error : '<cv-qualifer>'
1>..\..\expat\xmltok_impl.c(1696) : error C2061: syntax error : identifier 'nameLength'
1>..\..\expat\xmltok_impl.c(1696) : error C2059: syntax error : ';'
1>..\..\expat\xmltok_impl.c(1696) : error C2059: syntax error : '<cv-qualifer>'
1>..\..\expat\xmltok_impl.c(1723) : error C2061: syntax error : identifier 'skipS'
1>..\..\expat\xmltok_impl.c(1723) : error C2059: syntax error : ';'
1>..\..\expat\xmltok_impl.c(1723) : error C2059: syntax error : '<cv-qualifer>'
1>..\..\expat\xmltok_impl.c(1739) : error C2061: syntax error : identifier 'updatePosition'
1>..\..\expat\xmltok_impl.c(1739) : error C2059: syntax error : ';'
1>..\..\expat\xmltok_impl.c(1739) : error C2059: syntax error : '<cv-qualifer>'
1>xmltok_ns.c
1>..\..\expat\xmltok_ns.c(1) : error C2220: warning treated as error - no 'object' file generated
1>..\..\expat\xmltok_ns.c(1) : warning C4431: missing type specifier - int assumed. Note: C no longer supports default-int
1>..\..\expat\xmltok_ns.c(1) : error C2143: syntax error : missing '{' before '*'
1>..\..\expat\xmltok_ns.c(2) : error C2091: function returns function
1>..\..\expat\xmltok_ns.c(3) : warning C4131: 'NS' : uses old-style declarator
1>..\..\expat\xmltok_ns.c(3) : warning C4431: missing type specifier - int assumed. Note: C no longer supports default-int
1>..\..\expat\xmltok_ns.c(4) : warning C4013: 'ns' undefined; assuming extern returning int
1>..\..\expat\xmltok_ns.c(4) : error C2065: 'internal_utf8_encoding' : undeclared identifier
1>..\..\expat\xmltok_ns.c(4) : error C2224: left of '.enc' must have struct/union type
1>..\..\expat\xmltok_ns.c(4) : warning C4033: 'NS' must return a value
1>..\..\expat\xmltok_ns.c(7) : warning C4431: missing type specifier - int assumed. Note: C no longer supports default-int
1>..\..\expat\xmltok_ns.c(7) : error C2143: syntax error : missing '{' before '*'
1>..\..\expat\xmltok_ns.c(8) : error C2091: function returns function
1>..\..\expat\xmltok_ns.c(9) : warning C4131: 'NS' : uses old-style declarator
1>..\..\expat\xmltok_ns.c(9) : warning C4431: missing type specifier - int assumed. Note: C no longer supports default-int
1>..\..\expat\xmltok_ns.c(9) : error C2084: function 'int *(__cdecl *NS())(void)' already has a body
1>        ..\..\expat\xmltok_ns.c(2) : see previous definition of 'NS'
1>..\..\expat\xmltok_ns.c(17) : error C2065: 'internal_little2_encoding' : undeclared identifier
1>..\..\expat\xmltok_ns.c(17) : error C2224: left of '.enc' must have struct/union type
1>..\..\expat\xmltok_ns.c(18) : error C2065: 'internal_big2_encoding' : undeclared identifier
1>..\..\expat\xmltok_ns.c(18) : error C2224: left of '.enc' must have struct/union type
1>..\..\expat\xmltok_ns.c(18) : fatal error C1903: unable to recover from previous error(s); stopping compilation
1>Generating Code...
1>Build log was saved at "file://c:\P4\ADP\external\expat\2.0\build\vc9.0\obj\shared\debug\vc9.0\BuildLog.htm"

1>  Expat XML Parser (2.0.0) - 97 error(s), 8 warning(s)



What is the problem with the two files? Are they must be compiled? Looking forward to your help.

Thanks,
Olivia


More information about the Expat-discuss mailing list