g++ -std=c++14 -m32 -I/export/home/ab0599/local/include -L/export/home/ab0599/local/lib xerces_tst1.cpp -o xerces_tst1 -lxerces-c-3.2
Undefined first referenced
symbol in file
__1cG__CrunKpure_error6F_v_ /export/home/ab0599/local/lib/libxerces-c-3.2.so
__1cG__CrunIex_alloc6FI_pv_ /export/home/ab0599/local/lib/libxerces-c-3.2.so
__1cG__CrunIex_throw6Fpvpkn0AQstatic_type_info_pF1_v_v_ /export/home/ab0599/local/lib/libxerces-c-3.2.so
__1cG__CrunKcross_cast6Fpvpkn0AQstatic_type_info_4_1_ /export/home/ab0599/local/lib/libxerces-c-3.2.so
typeinfo for xercesc_3_2::XMLException /var/tmp//ccjKE5ec.o
xercesc_3_2::XMLPlatformUtils::Initialize(char const*, char const*, xercesc_3_2::PanicHandler*, xercesc_3_2::MemoryManager*) /var/tmp//ccjKE5ec.o
__1cG__CrunGex_get6F_pv_ /export/home/ab0599/local/lib/libxerces-c-3.2.so
__1cG__CrunMex_rethrow_q6F_v_ /export/home/ab0599/local/lib/libxerces-c-3.2.so
xercesc_3_2::XMLUni::fgXercescDefaultLocale /var/tmp//ccjKE5ec.o
__1cG__CrunSregister_exit_code6FpG_v_v_ /export/home/ab0599/local/lib/libxerces-c-3.2.so
__1cG__CrunHex_skip6F_b_ /export/home/ab0599/local/lib/libxerces-c-3.2.so
xercesc_3_2::XMLPlatformUtils::Terminate() /var/tmp//ccjKE5ec.o
__1cG__CrunIex_clean6F_v_ /export/home/ab0599/local/lib/libxerces-c-3.2.so
__1cG__CrunKex_rethrow6F_v_ /export/home/ab0599/local/lib/libxerces-c-3.2.so
c::c(N6, (int0_t)) /export/home/ab0599/local/lib/libxerces-c-3.2.so
c::c(n6, (int0_t)) /export/home/ab0599/local/lib/libxerces-c-3.2.so
__1c2K6Fpv_v_ /export/home/ab0599/local/lib/libxerces-c-3.2.so
__1c2k6Fpv_v_ /export/home/ab0599/local/lib/libxerces-c-3.2.so
ld: fatal: symbol referencing errors
collect2: error: ld returned 1 exit status
请帮忙解决问题。我尝试了不同的参数组合,但没有任何帮助。
答案 0 :(得分:1)
我已经解决了这个问题。 问题是,我用CC编译器进行了配置:
./configure --prefix=/export/home/ab0599/local --disable-network CC=cc CXX=CC CFLAGS=-m64 CXXFLAGS=-m64
但尝试使用gcc编译示例。 现在,我已经通过gcc编译器编译了库,问题解决了。
答案 1 :(得分:0)
请检查(在我看来)“-L / export / home / sian / local / lib”中给出的不匹配路径,并显示在“/ export / home / ab0599 / local / lib”中。如果您有指向该路径的链接,那就没问题。
制作ldd /export/home/ab0599/local/lib/libxerces-c-3.2.so
并尝试解决(可能缺少的)依赖项。
如果满足依赖关系,则可能是版本不匹配(很可能您的libxerces是使用除xerces_tst1之外的其他版本的常见依赖项构建的)