並列コードを書くために gcc で OpenMP を使用しました。現在、Visual C++ 2005 を使用しており、OpenMP の使用方法を理解しようとしています。Properties->C/C++/Language メニューにコンパイラ オプションがありますが、ライブラリが見つからないというメッセージが表示されます。OpenMP 用のサード パーティの実装はありますか、それとも Visual C++ の構成が間違っているだけですか?
質問する
8460 次
3 に答える
6
VC 2005 ではそのまま使用できると思いますが、すべてのバージョンで提供されているかどうかはわかりません。
あなたが添付する場合
/openmp
オプションには、オープン mp ヘッダーも含める必要があります
#include <omp.h>
このヘッダーはアプリケーションにマニフェストを追加し、正しいシステム パスから vcomp.dll をロードできるようにするため、これは重要です。そのため、通常、vcomp.dll やその他のシステム dll を実行可能ファイルの下にコピーすることは許可されなくなりましたが、正しい場所から dll をロードするには、アプリケーションのマニフェストをポンピングする必要があります。これは、omp.h ヘッダーによって自動的に行われません。
したがって、自分でマニフェストを変更したくない場合の最小限のコードは次のとおりです。
#include <omp.h> // has to include this header to build the correct manifest to find vcom.dll or vcompd.dll
int main(int argc, char* argv[])
{
double sum;
#pragma omp parallel for
for(int i = 0; i < 10000; ++i) {
}
return 0;
}
于 2009-06-15T14:10:17.053 に答える