Program made for matlab on windows doesn't work on linux. Path problem.

I am trying to use a program on matlab for linux, but it was made for matlab on windows.
The problem is that it tries to work with windows paths over linux.
Warning: Name is nonexistent or not a directory: /ADVISOR2002/advisor.m\saved_vehicles.
As you can see the backslash is the problem.
Any suggestion?
Regards,
Poncho

Answers (1)

Edit the program and find where it uses \ as the separator and replace it with / . The program will then be usable on both systems. To say that more explicitly: MS Windows is able to use / as the directory separator as well as the traditional Windows \
In future you can code the separator character using the result of the pathsep() function call, or you can use the fullfile() routine which will automatically use the traditional separator for the system being run on.

5 Comments

Hi,
I know this is the obvious solution, but it is a big program, not made by me, so it would be a very hard task to do that.
My workaround has been to run matlab using wine, and it works, but I would prefer to run it without wine.
Thanks !!
Poncho
Depending on what is going on, you may be able to rescue the situation using symbolic links. Perhaps something like
cd /ADVISOR2002
[[ ! -d saved_vehicles ]] && mkdir saved_vehicles
ln -s saved_vehicles advisor.m\\saved_vehicles
@Walter: PATHSEP separates the folders in the PATH string. I assume, you meant FILESEP.
@Walter, I think you meant to use filesep(), not pathsep()
<rant>
Dang nomenclature! Those '/' or '\' characters are called path separators in POSIX! The string as a whole forms a "file path" in POSIX. TMW should have called it pathifs not pathsep !
</rant>

Sign in to comment.

Categories

Find more on Environment and Settings in Help Center and File Exchange

Asked:

on 12 Sep 2011

Community Treasure Hunt

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

Start Hunting!