Cコンパイラに「Vi​sualStudio​2017」を指定でき​ない

38 ビュー (過去 30 日間)
koji fukumoto
koji fukumoto 2019 年 9 月 19 日
コメント済み: koji fukumoto 2019 年 9 月 19 日
使用しているMATLABは「R2018a」で、
「Microsoft Visual Studio Premium 2012」と「Microsoft Visual Studio Professional 2017」がインストール済みです。
mex -setup」を実行すると、以下のように表示され、VS2017が選択肢に現れません。
>> mex -setup
MEX は C 言語のコンパイルに 'Microsoft Visual C++ 2012 (C)' を使用するよう設定されています。
警告: MATLAB C および Fortran API は、2^32-1 を超える要素のある MATLAB
変数をサポートするように変更されました。今後、新しい API
利用するためのコードの更新が必要になります。
詳細については、次を参照してください:
https://www.mathworks.com/help/matlab/matlab_external/upgrading-mex-files-to-use-64-bit-api.html
別の C コンパイラを選択するには、次のいずれかを選択してください。
MinGW64 Compiler (C) mex -setup:'C:\Program Files\MATLAB\R2018a\bin\win64\mexopts\mingw64.xml' C
Microsoft Visual C++ 2012 (C) mex -setup:C:\Users\********\AppData\Roaming\MathWorks\MATLAB\R2018a\mex_C_win64.xml C
別の言語を選択するには、次のいずれかを選択してください。
mex -setup C++
mex -setup FORTRAN
>>
より、R2018aにおいてVS2017はサポートされている認識ですが、どのようにすればVS2017をコンパイラとして指定できますか?
(理由あって、R2018aからのバージョンアップは考えておりません)
よろしくお願い致します。

採用された回答

Kazuya
Kazuya 2019 年 9 月 19 日
こちらに似た現象に関する質問がありました。
原因はわからないままですが、Visual Studio 側の再インストールで解決しています。
mex -setup -v
でもしかしたら何かわかるかもしれませんが・・。
  1 件のコメント
koji fukumoto
koji fukumoto 2019 年 9 月 19 日
-vで詳細を見てみると、レジストリ情報を元に
「D:\Program Files (x86)\Microsoft Visual Studio\2017\Community\」
を検索しておりました。VS2017は実際には
「D:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\」
にインストールされております。
VS2017の「Professional」をインストールする前に、「Community」をインストールしていたのですが、Communutyの試用期間が終了した為にこれをアンインストールし、新たにProfessionalをインストールした次第です。
その際、レジストリがうまく更新できていなかったようです。
(そういえば、Communityアンインストール時にエラーが出ていたのを思い出しました…)
レジストリ情報を正しいパスに更新することで、コンパイラの変更ができるようになりました。
迅速なご対応、ありがとうございました!

サインインしてコメントする。

その他の回答 (0 件)

製品


リリース

R2018a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!