我想将shpfile转换为osm文件 所以我将运行【osm2shp】 但是当我成功的时候 错误显示:
osm.c:(.text+0x82c): undefined reference to `xmlAddChild'
osm.c:(.text+0x869): undefined reference to `xmlAddChild'
osm.c:(.text+0x95c): undefined reference to `xmlAddChild'
osm.o:osm.c:(.text+0x992): more undefined references to `xmlAddChild' follow
osm.o: In function `createXmlDoc':
osm.c:(.text+0xafc): undefined reference to `xmlNewDoc'
osm.c:(.text+0xb0f): undefined reference to `xmlNewNode'
osm.c:(.text+0xb31): undefined reference to `xmlNewProp'
osm.c:(.text+0xb44): undefined reference to `xmlDocSetRootElement'
shp2osm.o: In function `main':
shp2osm.c:(.text+0x40d): undefined reference to `xmlSaveFormatFileEnc'
shp2osm.c:(.text+0x419): undefined reference to `xmlFreeDoc'
collect2: error: ld returned 1 exit status
make: *** [shp2osm] Error 1
我想它连接libxml2,但我不知道如何解决这个问题
这里有详细信息:
jin@ubuntu:~/Desktop/osmutils-master$ make
gcc -c -Wall `xml2-config --cflags --libs` -lproj transform.c
gcc -c -Wall `xml2-config --cflags --libs` -lproj ruleset.c
gcc -c -Wall `xml2-config --cflags --libs` -lproj osm.c
osm.c: In function ‘tagElement’:
osm.c:80:8: warning: variable ‘key’ set but not used [-Wunused-but-set-variable]
char *key;
^
gcc -c -Wall `xml2-config --cflags --libs` -lproj shape.c
gcc -c -Wall `xml2-config --cflags --libs` -lproj shp2osm.c
gcc -Wall `xml2-config --cflags --libs` -lproj -o shp2osm dbfopen.o shpopen.o keyvals.o transform.o ruleset.o osm.o shape.o shp2osm.o
transform.o: In function `sridIsValid':
transform.c:(.text+0x4c): undefined reference to `pj_init_plus'
transform.c:(.text+0x69): undefined reference to `pj_init_plus'
transform.o: In function `transformPoint':
transform.c:(.text+0xe7): undefined reference to `pj_transform'
osm.o: In function `tagElement':
osm.c:(.text+0x285): undefined reference to `xmlNewNode'
osm.c:(.text+0x2b1): undefined reference to `xmlNewProp'
osm.c:(.text+0x2d9): undefined reference to `xmlNewProp'
osm.o: In function `nodeElement':
osm.c:(.text+0x33b): undefined reference to `xmlNewNode'
osm.c:(.text+0x365): undefined reference to `xmlNewProp'
osm.c:(.text+0x393): undefined reference to `xmlNewProp'
osm.c:(.text+0x3c1): undefined reference to `xmlNewProp'
osm.o: In function `nodeRef':
osm.c:(.text+0x3de): undefined reference to `xmlNewNode'
osm.c:(.text+0x408): undefined reference to `xmlNewProp'
osm.o: In function `wayElement':
osm.c:(.text+0x428): undefined reference to `xmlNewNode'
osm.c:(.text+0x452): undefined reference to `xmlNewProp'
osm.o: In function `buildNodes':
osm.c:(.text+0x606): undefined reference to `xmlAddChild'
osm.c:(.text+0x63c): undefined reference to `xmlAddChild'
osm.o: In function `parseLine':
osm.c:(.text+0x82c): undefined reference to `xmlAddChild'
osm.c:(.text+0x869): undefined reference to `xmlAddChild'
osm.c:(.text+0x95c): undefined reference to `xmlAddChild'
osm.o:osm.c:(.text+0x992): more undefined references to `xmlAddChild' follow
osm.o: In function `createXmlDoc':
osm.c:(.text+0xafc): undefined reference to `xmlNewDoc'
osm.c:(.text+0xb0f): undefined reference to `xmlNewNode'
osm.c:(.text+0xb31): undefined reference to `xmlNewProp'
osm.c:(.text+0xb44): undefined reference to `xmlDocSetRootElement'
shp2osm.o: In function `main':
shp2osm.c:(.text+0x40d): undefined reference to `xmlSaveFormatFileEnc'
shp2osm.c:(.text+0x419): undefined reference to `xmlFreeDoc'
collect2: error: ld returned 1 exit status
make: *** [shp2osm] Error 1
答案 0 :(得分:1)
这基本上是Error while linking libxml2的副本。 link命令中的参数顺序错误。库必须追踪目标文件。您应该打开一个问题,可能是here on GitHub。