高エネルギー物理学実験におけるデータ収集

pthreads for win32( http://sourceware.org/pthreads-win32/ ) の library を build してみようと思った。 C version は gcc でも VC でも問題無くできた。しかし、 EH version は gcc でも VC でも undefined reference がいくつか出て、失敗する。 どうも __cplusplus まわりではないかと疑われる。Google で検索をかけて みると、同様例が数個見つかったが、いずれも解決した様子はない。そもそも distribution に dll が含まれているので、library から build しようとする 人は少ないのかも知れない。

CVS を見ると、比較的最近まで(主に 64bit 対応のため)update されているみたい なので、cvs から取ってこようとして、指示通りの password を入れても get できない。これも昨年末に同様の mailing-list 記事があるが、 返事はされていない。

なんだか、信用できるのか心配になってくる。というか、、

C++ 用の library を別途作れということなのか?確かに EH は C++ でしか意味を 持たないが、library は extern C で共用させるのではないのか? よくわからなくなってきた。

というわけで、、というわけでもないが、、ちょっと超手抜き実装を試みる。

まあ、一応動いた。

さて、C であれば、一応鬱陶しい問題は避けられる。そこで、MinGW に

pthreads-w32-2-8-0-release.tar.gz

を install してみた。

make clean GC

とすると、pthreadGC2.dll と libpthreadGC2.a ができる。

  • pthreadGC2.dll を \Windows\System32\ へ
  • libpthreadGC2.a を \mingw\lib\ へ
  • pthread.h、semaphore.h、sched.h を \mingw\include\ へ

基本的にこれだけで動くようになった。


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2008-06-30 (月) 16:14:09