• 締切済み
  • 困ってます

pythonでC++のコンパイラを利用する環境

Jupyter notebookで時系列データ解析を練習しているものですが、C++のコンパイラを自動で呼び出して処理をする場面があるようです。ユーザがやるのではなくて、ライブラリを呼び出すと自然とそうなるようです。ところがそこでエラーが生じてしまいます。 長めのエラーが出るのですが、この辺が根本だと思っています。 command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.15.26726\\bin\\HostX86\\x64\\cl.exe' failed with exit status 2 その前に WARNING:pystan:MSVC compiler is not supported というようなエラーメッセージも出ます。 関係している環境設定は以下のようなものです。pystanはインストールされています。 import pystan from pystan import StanModel pythonやJupyterはC++を使うことがあるから使えるようにしておくことというメッセージですが、具体的にどうしておく、とは言っていません。Visual studioのC++コンパイラは任意のプロンプト、シェルから実行できず、専用のプロンプト(そこで環境を整えてある)でしか実行できないようになっています。それが問題なのかもなと思いますが、何か心当たりがありましたらお願いします。

共感・応援の気持ちを伝えよう!

  • 回答数2
  • 閲覧数465
  • ありがとう数2

みんなの回答

  • 回答No.2
  • wormhole
  • ベストアンサー率28% (1464/5134)

>回答ありがとうございます。ご紹介のサイトも拝見しました。 見ただけで読んでないという事でしょうか。 MSVCをサポートしていない理由も書いてあるんですけど。 >pythonやJupyterはC++を使うことがあるから使えるようにしておくことというメッセージですが、 #1では書きませんでしたが、質問に書かれているメッセージは、そのような内容ではありませんよ。 >command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.15.26726\\bin\\HostX86\\x64\\cl.exe' failed with exit status 2 C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\bin\HostX86\x64\cl.exe が終了ステータス2で異常終了しました。 >WARNING:pystan:MSVC compiler is not supported 警告: pystanはMSVCコンパイラーはサポートしていません。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

すみません。その他のサイトなどでは”Visual studioのC++でできる”と思わせるような情報もあり、混乱しているのです。 ”できない”場合、gccなどで対応するのだろうと思います。その対処方法の説明はありました。しかし、私のPCにはgccはすでに入っているので、その対処方法を実行したらgccの利用環境は2つになってしまうのではないかと見ているのですが。その辺の考え方の整理をしているのですが。

関連するQ&A

  • コンパイラによってエラーが出たり出なかったり

    構造体をポインタでつなぐリスト構造を使ったソースを書いて、Borland C++ Compiler 5.5 でコンパイルしたものを実行するとエラーで止まってしまいました。 コンパイル時には何も警告が出ませんでした。 しかし、ソースを何度見てもバグらしいコードが見つからなかったので、試しに Microsoft .NET Framework SDK でコンパイルしてみたところ、こちらも警告も出ずにコンパイルが通って、実行してみたらこんどは正常に動作しました。 コンパイラによって、実行時にエラーが出たり出なかったりするということは初めてなのでその原因を知りたくて質問しました。 どういった場合にこのようなことが起こるのでしょうか。 Borland C++ で出たエラーは、おそらくセグメントエラーだと思います。 今のところ正常に動いているのですが、なにかデンジャラスなコードを書いてしまった気がして気持ち悪いです。

  • WinAPIに用いるコンパイラコンパイラ

    私はウィンドウズのアプリケーションを作るのに、Visual StudioのC++を用いてます。これに簡単なスクリプトファイルを加えてグラフィックを作成しようと考えていますが、そのスクリプトを解析するのにコンパイラコンパイラを勉強を兼ねて使用しようと思いました。 コンパイラコンパイラには沢山種類があるかと思われます。私が思いつくのは、boostや、yacc/lexです。 この環境でコンパイラコンパイラをソースとして加えるのなら皆さんなら何を用いますか。出来れば理由も加えて教えてください。ちなみに、コンパイラコンパイラを勉強したいので、簡単にできる文字を取り組んで比較と言った事以外でお願いします。

  • DirectX + C++ コンパイラについて

    Borland C++ CompilerでDirectX 9.0を開発しようとして、 (Visual.NETは資金的に・・・) http://www.clootie.ru/cbuilder/index.html これを使ってなんとかできるようになりました。 しかし、D3DX9sab.dllが必要になってしまうんです。 通常のDirectXのように単一の実行ファイルにしたいのですが、どなたかご存知の方はいらっしゃいませんか。 というか、無償のコンパイラでDirectXを使いたいんです。 ちなみに、DLLをEXEにまとめる、ILMergeというソフトを見つけたんですが、なぜかエラーに・・・。 たぶん.NETで作成したもの限定なのかな。。 DLLからスタティックライブラリに変換できんかなぁ

  • 回答No.1
  • wormhole
  • ベストアンサー率28% (1464/5134)

>WARNING:pystan:MSVC compiler is not supported C++コンパイラーを必要としているのはpythonやJupyterではなく、pystanかと。 またC++コンパイラーといってもVisual C++(MSVC)はサポートしてないというメッセージが出ていますからパスが通っていようが意味はないです。 C++のインストールに関してはpystanのドキュメントを参照すればよろしいかと。 https://pystan.readthedocs.io/en/latest/windows.html#windows

共感・感謝の気持ちを伝えよう!

質問者からのお礼

回答ありがとうございます。ご紹介のサイトも拝見しました。WindowsユーザだったらVisual studioを入れることが多いはずなのでMSVC(これはVisual StudioのC++だと思いますが)はあるはずですが、 しないわけですね。私のPCではコマンドラインから呼び出せない状態ではあるのであるにはあるが、ないのと同じという風ではあります。gccも入っていますが、コマンドラインで呼び出せないようになっています。その辺が問題なのだろうと思います。 また、そのサイトにはcondaコマンドを使ってC++をインストールせよとも書いてあり、あらためてC++をインストールした方がいいのかもしれません。pystan自体pipコマンドでインストールしており、そのときC++がついてきてもらってもよかったとも思いますが。

関連するQ&A

  • Visual Studio のコンパイラがアプリケーションエラー

    Visual Studio 2005 Professional Edition(Visual Basic 2005)を使っています。 プログラム作成中にコンパイラ(エラー一覧に、文法エラー等を表示するやつです)がアプリケーションエラーで当然のように頻繁に落ちます。 ※エラー内容「問題が発生したため、Microsoft Visual Basic Compilerを終了します。ご不便をおかけ・・・」「・・Visual Basicコンパイラを回復できません。システムエラー・・・」 コンパイラが落ちないように、 この自動コンパイル(自動コードチェック)をしないようにVisual Studioを設定する方法をご存知の方、教えて頂けませんでしょうか。 ※いろいろ調べてみたのですがわかりませんでした。

  • CとC++って何が違うのでしょうか?

    こんにちは。今までjavaでプログラミングしていたのですが、C言語を使わなくてはいけなくなりました。 そこで本屋さんに行って「初めてのCプログラミング」というのを買いました。それに付いてた「BorlandC++Compiler」というコンパイラをインストールして、プログラムを作成して実行しました。 昔、大学の授業ではコンパイルするとき「cc」、実行するときは「a.out」とした記憶があるのですが、これでは、「bcc」です。 もしかして、この本は、C言語ではなく、C++というCとは異なる高水準言語なのですか? C言語とC++とは全く異なるものなら、このまま、新しい本を買わないとどのような支障がでてくるでしょうか?

  • 旧c++のプログラムを動かす方法を教えてください

    c++の実行時にエラーが出てしまいます。 エラーの原因をインターネットで検索しまして、原因は「iostream」ではなく旧バージョンの「iostream.h」をインクルードしているためであることが判明しました。 私はプログラムの記述を変更することなく、旧c++のプログラムを実行したいのですが、やり方が分かりません。 旧c++のコンパイラを探してインストールしようと考えましたが、どれが旧c++のコンパイラなのか分かりませんでした。 解決方法をご存知の方がいらっしゃいましたら、回答よろしくお願いします。 pc環境はVine linux4.2です。

  • コンパイラの違いについて

    こんばんはです。 実は、ビジュアルスタジオで組んだCソースをBolrand C++コンパイラで組んでるPCで実行すると、違った結果が出てきてこまってます。 visualstudioでもBolrandでも、ソースのコンパイルはエラーなしでとおります。 しかし、実行すると、結果が違うのです。これって・・・? 結果と言うのはstrcmpでかえってくる数字なのですが、studioでエグゼつくって実行すると、0も1もー1も返ってきて判断分岐できるのですが、Bolrandの方でエグゼつくって実行すると、0しか返ってきません。なので、分岐は0の時だけの対応しかできないのです。 もっとくわしくいいますと、studioの方もBolrandの方もコンパイルはプロントでおこなっており、studioはcl test.c Bolrandはbcc32 test.c と言う具合に行ってます。 もしかして、古さの違いとかってあるのです?? 昔は構造体のコピーってa = bってできなかったではないですか? 今はa = bできますよね。そういう感じなのでしょうか?? ご存知の方いらっしゃいましたらアドバイスいただきたいです。 よろしくおねがいいたします。

  • コンパイラの使い方

    Borland C++ Compilerというコンパイラをダウンロードしたのですが、 使い方がわかりません。 エディターはxyzzyを使おうと思っているのですが、このエディターに書いたコードをどのようにコンパイルするのかがわかりません。 また、xyzzyを総合開発環境のように使うことが出来るとどこかのサイトで見たような気がしますが、そのような使い方も出来るのでしょうか? 初歩的な質問ですが、よろしくお願いします。

  • コンパイラC++のDL方法

    こんにちは。 大学の課題で、C言語を使ったプログラムの課題が出されており、 それを書きあげるために、C++コンパイラのDLが必要です。 なので、 http://www.embarcadero.com/jp/products/cbuilder/free-compiler から、C++コンパイラをDLしました。 そこで手順に従って、 freecommandlinetools2 freeturbodebugger をインストールしたまでは良かったのですが、 次の手順が以下のようになっています。 1. freecommandlinetools.exe を実行します。無料の C++Builder 5 コマンドラインツール開発システムをインストールしたいドライブと フォルダを選択します。 2. インストール先の bin ディレクトリで次の手順を実行します。 a. 既存のパスに "c:\Borland\Bcc55\bin" を追加します。 b. bcc32.cfg ファイルを作成します。このファイルは,Include および Lib パスのコンパイラオプション(コンパイラの -I および -L スイッチ)を設定するものです。ファイルには次の 行を含めてください。 -I"c:\Borland\Bcc55\include" -L"c:\Borland\Bcc55\lib" c. ilink32.cfg ファイルを作成します。このファイルは,Lib パスのリンカオプションを設定するものです。ファイルには 次の行を含めてください。 -L"c:\Borland\Bcc55\lib" この中で、 a. 既存のパスに "c:\Borland\Bcc55\bin" を追加します。 の意味がわからないです。新しいファイルを作って保存すればよろしいのですか? どなたか、ご回答をお願いします。

  • Borland C++ Compiler 5.5について

    (1)Borland C++ Compiler 5.5 (2)Turbo Debugger 5.5 (3)Bcc Dev(環境設定ツール) (4)C Pad for LSI C-86 をダウンロードしました。まず、アイコンが表示されません。 C\borland\bcc55\bin を全部見ましたが、コンパイラらしきものは入っていません。 Bcc Devを起動して、プログラムをうち、コンパイルしたと、実行とデッバグができません。 過去ログを見ましたが、参考になりません。どうすればいいのでしょうか?因みにBCC32とiLink32はあります。

  • Cのコンパイラがインストールできません.

    Cのコンパイラがインストールできません. 自宅のPC(OS:WindowsXP)でプログラミングできるように, Borland C++ Compiler 5.5 をダウンロードして, http://www.cqpub.co.jp/hanbai/books/18/18781/18781_1syo.pdf などのページを参考にインストールをしてみたのですが,どうしても うまくいきません.設定は間違っていないと思うのですが... 環境変数やcfgファイルの記述ミス以外で考えられる原因はあるのでしょうか? どなたかご教授お願いします.

  • 対応Cコンパイラについて [C/OCI/HP]

    OCI(Oracle Call Interface)を用いてOracleクライアントの開発を行います。 下記環境で対応するCコンパイラを教えていただけますでしょうか?(HP 11.0に付属のCコンパイラで大丈夫でしょうか?) ・Oracle 8i ・HP 11.0 ※ ・Borland C++ Compiler ・Oracle 8i ・Windows 2000 でサンプルプログラムをコンパイルしようとしたところ、OWLというライブラリがないためコンパイルできませんでした。同じようなことがHPの場合にもあるのかと思い、本質問をさせていただいています。 よろしくお願い致します。

  • windowsのコンパイラーで正しく実行されたのに、gccのコンパイラーでエラーがでた

    windowsのコンパイラーで正しく実行されたのに、gccのコンパイラーでエラーがでたソースコードです。ファィル名test.c です。Linux(Red Hat9) gccです。windowsのコンパイラーはCPad for Borland C++Compilerです。 #include <stdio.h> void main() //intからvoidに変更した { int i, j; for (i=1; i<=9; i++){ printf("%2d ",i); //%2dで、iが2桁に表示 } printf("\n"); printf("***************************\n"); //この罫線もどきの書き方はダサいので工夫してください for (i = 1; i<=9; i++){ for (j = 1; j<= 9; j++) { printf("%2d ", i*j); if (j == 9) printf("\n"); //1行表示後改行 } } return; //voidにしたので0を取った! } これがLinux(RedHat9)gccでは以下のエラーが出ます。 (test.c: 関数 `main' 内: test.c:4: 警告: `main' の戻り値の型が `int' ではありません)  なぜ、同じソースコードでエラーが起こるのですか?  Linux gccでは、この場合`int' 以外の何が必要なのでしょうか? 以上よろしくお願いします。