Program made for matlab on windows doesn't work on linux. Path problem.
Afficher commentaires plus anciens
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
Réponses (1)
Walter Roberson
le 12 Sep 2011
0 votes
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 commentaires
poncho
le 13 Sep 2011
Walter Roberson
le 13 Sep 2011
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
Jan
le 13 Sep 2011
@Walter: PATHSEP separates the folders in the PATH string. I assume, you meant FILESEP.
Fangjun Jiang
le 13 Sep 2011
@Walter, I think you meant to use filesep(), not pathsep()
Walter Roberson
le 13 Sep 2011
<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>
Catégories
En savoir plus sur Environment and Settings dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!