だから私はLinux上でXerces3.0.0を静的にリンクしようとしています。
私はすでに動的リンクでそれを行いました、そしてそれは働きます、しかし依存を避けるために私はそれを静的にしたいと思います。
適切な方法でそれを行うためにすべてのmakeファイルを変更しました
-Wl,-Bstatic ... -lxerces-c -Wl,-Bdynamic ...
しかし、次のエラーが発生します。
undefined reference to '__ctype_b'
undefined reference to '__ctype_tolower'
undefined reference to '__ctype_toupper'
ここにあるブルートフォース方式で修正しました
しかし、xercesに関連する別のタイプのエラーがありました。
Xerces/3.0.0/lib/libxerces-c.a(PosixMutexMgr.o):
In function `xercesc_3_0::PosixMutexMgr::create(xercesc_3_0::MemoryManager*)':
PosixMutexMgr.cpp:(.text+0x84): undefined reference to `pthread_mutexattr_init'
PosixMutexMgr.cpp:(.text+0x95): undefined reference to `pthread_mutexattr_settype'
PosixMutexMgr.cpp:(.text+0xad): undefined reference to `pthread_mutexattr_destroy'
PosixMutexMgr.cpp:(.text+0xd0): undefined reference to `pthread_mutexattr_destroy'
pthreadが欠落しているようですので、追加してみましたが、問題は解決しません...これらのエラーはXercesから発生しています...動的バージョンは正常に動作し、静的バージョンは失敗します。
何か案は???
ありがとう