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

22 views (last 30 days)
koji fukumoto
koji fukumoto on 19 Sep 2019
Commented: koji fukumoto on 19 Sep 2019
使用している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からのバージョンアップは考えておりません)
よろしくお願い致します。

Accepted Answer

Kazuya
Kazuya on 19 Sep 2019
こちらに似た現象に関する質問がありました。
原因はわからないままですが、Visual Studio 側の再インストールで解決しています。
mex -setup -v
でもしかしたら何かわかるかもしれませんが・・。
  1 Comment
koji fukumoto
koji fukumoto on 19 Sep 2019
-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アンインストール時にエラーが出ていたのを思い出しました…)
レジストリ情報を正しいパスに更新することで、コンパイラの変更ができるようになりました。
迅速なご対応、ありがとうございました!

Sign in to comment.

More Answers (0)

Categories

Find more on MATLAB Compiler in Help Center and File Exchange

Products


Release

R2018a

Community Treasure Hunt

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

Start Hunting!