I am getting the following error:

Warning: Function C:\windows\system32\input.dll has the same name as a MATLAB
builtin. We suggest you rename the function to avoid a potential name conflict.
> In path at 110
In addpath at 87
In startup at 40
In matlabrc at 209
Warning: Function C:\windows\system32\version.dll has the same name as a MATLAB
builtin. We suggest you rename the function to avoid a potential name conflict.
> In path at 110
In addpath at 87
In startup at 40
In matlabrc at 209
Could you please help me resolve this?

7 Comments

Why is the system32 folder in your Matlab path? I would strongly discourage that.
MATLAB is in the path:
C:\Program Files (x86)\MATLAB
Matlab has a list of folders where is looks for functions and files if you type a name, that is called the Matlab path. Apparently, you have added the system32 folder to that list.
What release are you using? You should be able to find the path settings in the preferences.
Are you using a 32 bit Matlab on a 64 bit Windows? If so, why? Is the release you're using so old there is not 64 bit version available?
I am using MATLAB 2012a version.
ya I am using the 32 bit version as some of the tools that I need are not compatible with the 64 bit version.
Did you modify your startup.m file to add system32 to your Matlab path?
no I have not modified it.
Its getting added every time I close and open the MATLAB
Can you share startup.m?

Sign in to comment.

Answers (1)

The real fix is to prevent a function to add the system32 folder in the first place, but the code below is the temporary fix to remove the problematic folders. I made sure to only use base functions that already existed in R2012a.
% set this to false to actually apply the fix
% keep this to true to first display the folders you are about to remove
tryout=true;
if tryout,clc,end
%get all folders in your path
p=path;
%split to 1 folder per cell
p_list = regexp(p,';','split');
%remove any folder that starts with 'C:\Windows'
for n=numel(p_list):-1:1
is_in_windir=~isempty(strfind(lower(p_list{n}),lower('C:\Windows')));
if is_in_windir
if tryout
fprintf('%s\n',p_list{n})
else
rmpath(p_list{n});
end
end
end

1 Comment

Jan
Jan on 19 Nov 2018
Edited: Jan on 19 Nov 2018
I'd replace
~isempty(strfind(lower(p_list{n}),lower('C:\Windows')));
by
strncmpi(plist{n}, 'C:\Windows', 10)
or run it on the complete cell string plist before the loop.
p = strsplit(path, pathsep);
p(strncmpi(p, 'C:\Windows', 10)) = [];
path(sprintf(['%s', pathsep], p{:}));
Nevertheless, the main idea solves the problem: +1

Sign in to comment.

Categories

Asked:

on 19 Nov 2018

Commented:

Rik
on 20 Nov 2018

Community Treasure Hunt

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

Start Hunting!