• 締切済み

MinGWのgccでOpenMPを使う方法

MinGWのgccでOpenMPを使いたいのですが、サンプルソースコードを以下のようにコンパイルするところでエラーとなります。 gcc -fopenmp -O2 abc.c その結果が以下のようです。 ld.exe: cannot find -lpthread pthreadがみつからないのですが、あるけど見つからないのではなく、もともとない、が正解のようです。MinGWをインストールする際、ものすごく多くのファイル選択の可能性があり、デフォルトでやると欠落してしまうんだと思います。インストールのセレクトの仕方を教えて頂ければと思います。検討がつかないぐらいセレクションのリストが長々としているので。あるいは別の解決方法でも。よろしくお願いします。

みんなの回答

  • f272
  • ベストアンサー率46% (7995/17093)
回答No.1

MinGWのインストールのときに,All Packagesを選び,mingw32-pthreads-w32を検索して見つかったものをインストールするといいんじゃないだろうか。

skmsk1941093
質問者

お礼

回答ありがとうございます。まあ、OpenMPが目的なので、OpenMPという言葉でセットになっていて欲しいところでした。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • MinGWでのリンク

    Widows上で、MinGwを使用してC言語でプログラミングをしようとしています。 test.c aaa.c の二つをコンパイルして、あとでldでリンクをしようとしています。 コンパイルは gcc -c test.c aaa.c で問題なくコンパイルができたのですが、リンクをしようとして ld -o test.exe aaa.o test.o -lc とすると、 ld: cannot find -lc と表示されて、リンクがうまくいきません。通常の(?)gccではこれでできると思うのですが(経験があるわけではなく、単にググっただけですが。。。)どこが間違っているのでしょうか。 OS:WinXP SP2 gcc version 3.4.2 (mingw-special) よろしくお願いいたします。

  • cygwin gccでのコンパイル

    cygwinをインストールをallでインストールし、gccでコンパイルを行おうとしたところ /usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/../../../../i686-pc-cygwin/bin/ld: cannot find -luser32 collect2: ld returned 1 exit status と表示され、コンパイル出来ません。 なにが原因でしょうか。 以上、宜しくお願い致します。

  • FFTWでコンパイルができません。

    FFTWでコンパイルができません。 http://www32.atwiki.jp/amaeda/pages/12.html ↑のソースファイルをコンパイルすると以下のエラーが出ます。↓ >gcc -o fftw1D fftw1D.c -lfftw3 -lm (MinGW) c:/mingw/bin/../lib/gcc/mingw32/4.5.0/../../../../mingw32/bin/ld.exe: cannot find -lfftw3 collect2: ld returned 1 exit status FFTWはわからないので、教えてください。

  • Cygwin(gcc) lexライブラリ

    WindowsXPにCygwinのすべての項目をInstallにしてインストールして bison -d abc.y flex abc.l と実行し、 abc.tab.c , abc.tab.h , lex.yy.c ができた状態で gcc abc.tab.c -ll とした時 /user/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/bin/ld: cannot find -ll collect2: ld returned 1 exit status とメッセージが表示されコンパイルできないでのですが gccには標準lexライブラリが無いのでしょうか? それとも別のことが原因なのでしょうか? このエラーの回避法、もしくは別のソフトなどでこれと同様のことができるなら教えてください。

  • gccのコンパイルが出来ません

    gcc(MinGW)をインストールをして、binにPATHを通したのですが、コンパイルしてみると gcc: installation problem, cannot exec `cc1plus': No such file or directory というエラー文がでました。 解決方法をどなたか教えて下さい;; OS は XP Professional SP2 です。 http://www.knatech.info/Dev-mingw-install.htmlを参考にしました。

  • CentOS,yumでのgccインストール

    CentOSで、ccのコンパイルができなかったので、インストールしようと思い # yum install gcc と入力すると、 Cannot find a valid baseurl for repo: base/7/x86_64 のエラーが出てしまいました。 どうすれば良いのでしょうか。

  • コンパイル

    コンパイルしましたが、\mingw\lib\gcc\mingw32\3.4.5\..\..\..\..\mingw32\bin\ld.exe: cannot find -ldb-4.5 collect2 ld returned 1 exit statusというメッセージが表示されます。 コマンドプロンプトでcd C:\Users\xxxxx\Desktop\srcと入力し、cobc -x -std=cobol85 pro1.cblと入力した結果です。ソースはC:\Users\xxxxx\Desktop\srcにあります。MinGWとOpenCOBOLの動作確認はできています。

  • GCCでライブラリが足りない

    はじめまして。 LindowsOS4.0を使っています。 コンパイルができずに困っています。 GCCとMAKEをインストールしました(Lindowsはどちらも入っていないのです。Debian/Woodyベースと言われています)。 gcc 2.95.4 make 3.79.1 which gcc とすると、/usr/bin/gcc と表示されます。 で、./configure すると、 ..... checking whether the C compiler works ... no と表示されコンパイルエラーになります。 configure.log を見ると、 ------------------- checking for gcc configure:916: checking whether the C compiler (gcc ) works configure:932: gcc -o conftest conftest.c 1>&5 /usr/bin/ld: cannot open crt1.o: No such file or directory collect2: ld returned 1 exit status configure: failed program was: #line 927 "configure" #include "confdefs.h" main(){return(0);} --------------------- とか --------------------- checking for gcc configure:905: checking whether the C compiler (gcc ) works configure:921: gcc -o conftest conftest.c 1>&5 /usr/bin/ld: cannot open crt1.o: No such file or directory collect2: ld returned 1 exit status configure: failed program was: #line 916 "configure" #include "confdefs.h" main(){return(0);} ---------------------- とかなっています。 confdefs.hというのは何かのライブラリなのでしょうか?これが無いとconfigureできないのでしょうか?? よろしくお願いいたします。

  • gccコンパイルできない原因は!?

    http://okwave.jp/qa/q8650877.html  の続きですが!  以上URLから  gccコンパイルエラーとなる原因はPathにあるのかと思い!  環境変数の  Pathを  現在以下へ変更しました。冒頭URL~    今日の作業は最後にあったC:\Program Files (x86)\mingw-w64\i686-4.9.0-posix-dwarf-rt_v3-rev2\mingw32\libexec\gcc\i686-w64-mingw32\4.9.0\    を削除後  新たに一番最後に gccコンパイルするファイルががある、examplel.cのPathであるC:\msys\1.0\home\Administrator\を   を追加しました。  以下今日(2014/6/26 5:24)のpathです。 C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\Program Files\Broadcom\Broadcom 802.11 Network Adapter\Driver;;;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;;;;;;;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;c:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\Tools\Binn\;c:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files (x86)\Windows Live\Shared;C:\xampp\php;C:\Program Files (x86)\QuickTime\QTSystem\;c:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Program Files\Microsoft\Web Platform Installer\;C:\msys\1.0\home\Administrator\ しかし  msysエデタで 以下となりました。  $ ls examplel.c Administrator@ADMINISTRATOR ~ $ gcc exanplel.c sh: gcc: command not found 以上のエラーが出ます。 そもそも  gccコンパイラが働いていないからのエラーどと思われます!?  参考書付録のソフトを参考書の説明通りにインストールしました。   OSがXP時代は動いていましたが  7に変えたらgccのコンパイルができなくなりました。  原因は!OS7の影響でしょうか  以下が  作業をするうえで、参考書に付録していたCD-ROMの中身です。 binutils-2.16.91-20060119-1.tar.gz gcc-core-3.4.2-20040916-2.tar.gz gdb-5.2.1-1.exe mingw.ini MinGW-5.1.2.exe mingw-runtime-3.11.tar.gz MSYS-1.0.11-2004.04.30-1.exe w32api-3.8.tar.gz  以上ですが実際にインストールするのが MinGW-5.1.2.exe MSYS-1.0.11-2004.04.30-1.exe gdb-5.2.1-1.exe です。  以上gccコンパイルができません!?  原因を知りたいです。  よろしくお願いいたします。

  • 32bitでコンパイルするには

    お世話になっております。 CentOSの64ビットマシンを使っています。 C言語の簡単なサンプルとして、ポインタ変数の長さを表示するプログラム(sizeof(ポンタ変数)をprintf)を作りました。 これをコンパイルして実行すると8と表示されますので、64bitとアプリケーションとしてコンパイルされたのだろうと思います。 次に32Bitアプリケーションとしてコンパイルするために-m32オプションを付けてコンパイルしたところ、以下のとおりエラーが出てしまい困っております。 gcc -m32 -o sample sample.c /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/4.4.7/libgcc_s.so when searching for -lgcc_s /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/4.4.7/libgcc_s.so when searching for -lgcc_s /usr/bin/ld: cannot find -lgcc_s collect2: ld returned 1 exit status 解決方法について教えていただければ幸いです。 コンパイラは、gcc-4.4.7-3.el6.x86_64をインストールしています。 よろしくお願いします。

このQ&Aのポイント
  • TKーFBP101を購入しましたが、3台まで切り替えて使用できない問題が発生しています。
  • Windows PCに接続した状態でペアリング済みのiPadに、ファンクションキーと該当のキーを押しても切り替わりません。
  • エレコムの製品で複数台を切り替えて使用できるおすすめキーボードを教えてください。
回答を見る

専門家に質問してみよう