Re: 0.3.8でbitcoin生成が壊れている?(64ビット)

参加者: dkaparis

Quote from: lachesis on August 09, 2010, 03:45:39 PM

Quote from: lfm on August 09, 2010, 10:04:43 AM

32ビットLinuxビルドは自分でビルドしようとしない人にとっては問題ないようだ。正しくビルドされた64ビット版よりも数パーセント遅いだけだ。

そのフラグはSSE2を持っていないかもしれない古い32ビットマシン向けに入れられたのだろう。残念ながら、SSE2なしの64ビットx86_64というものは存在しないので、条件付きコンパイルにより中身が空になり、何もしない関数が生成された。

cmakeなどを使うべきだというもう一つの論拠だ。

その通りだ。

最終的にはビルドに関するすべての煩わしさを解消し、win/unix 32/64ビットのすべてのプラットフォームの組み合わせで信頼できるビルド手順を確立するつもりだ。

そういえば、現在Windows向けのx64ビルドに取り組んでいるが、64ビットMSVCではX86_SHA256_HashBlocks関数がプロジェクトに存在しない外部定義に委ねられていることに気づいた。元のCryptoPPライブラリでは別のasmモジュールにあるようだ。Windows上でx64をビルドしている人たちは、C言語ソースのshaバージョンを使用するようにdefineを設定しているのだろうか?