为了安装 MatConvNet,需要使用 C++ 编译器。由于 MingW-w64 C++ 不起作用,因此应使用 Visual C++ 编译器。但是,我遇到了一些问题。 尽管它们都已安装,但我无法使用它们。 使用Mingw编译器,安装过程会失败,无法识别VC++。我安装了Visual Studio 2017,但是发出以下命令时,似乎无法识别。
>> mex.getCompilerConfigurations('C++','Selected')
输出:
ans =
CompilerConfiguration with properties:
Name: 'MinGW64 Compiler (C++)'
Manufacturer: 'GNU'
Language: 'C++'
Version: '4.x'
Location: '$MINGWROOT'
ShortName: 'mingw64-g++'
Priority: 'E'
Details: [1×1 mex.CompilerConfigurationDetails]
LinkerName: '$MINGWROOT\bin\g++'
LinkerVersion: ''
MexOpt: some path
那么,问题是如何让 MATLAB 将 VC++ 识别为主要编译器?
附言两个编译器都位于 MATLAB 的 mexopts 目录中。
最佳答案
documented way选择 C++ 编译器的方法是使用 mex -setup c++
.但是,如果由于某种原因这不起作用(OP 似乎就是这种情况),则可以手动配置编译器:
在 mex.getCompilerConfigurations('C++','Selected')
的输出中, 有一个 MexOpt
值(value)。这指向包含所选编译器信息的文件,mex
会用。
您可以获取 mexopts
中的任何 XML 文件目录(可在此处找到:$MATLABROOT/bin/<arch>/mexopts
)并复制并重命名它以匹配 mex.getCompilerConfigurations('C++').MexOpt
的值.
根据您的平台(我还没有看到它在 Windows 下的样子),您可能需要在某些路径中编辑您的编译器和相关目录。
建议您配置的 C 和 C++ 编译器匹配。
关于c++ - 在 MATLAB 中识别 VC++ 编译器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58417922/