cross-compiling didn't work with boost:filesystem

Hi, I developed a code on Linux, and the only library that I used was boost:filesystem. I was very happy with the code on Linux, and it never gave me a problem and never broke on me, I tried it on different scenarios and different file types, and I had never issue with boost::filesystem::remove(&path) function. But, now, I needed my code on a Mac machine (but I don't have a Mac) so I borrowed my friend's Mac, and installed xcode, and installed boost_1.47, and I didn't get a single error or warning when installing these packages. As a test, I even ran some simple filesystem examples that were provided. and they all passed. I even used the same "make" file that I had on linux, and it worked great on Mac. (no warnings when compiled) But, when I tried to run my code, I was getting errors with ::remove functions. I am not sure, but I think part of it was because I may have read-only permission on some of the files, and maybe that is why it complained, although I never had this problem in Linux. Also, another part of it could be because of the file naming with white space between its characters: (e.g. "my document.txt" because of this space). I don't know, but I thought that "boost::filesystem" should be independent of the developing platform, and that I could be fairly confident that if it works on one platform (Linux), it should be working on another one (Mac). Any idea, what I am doing wrong, and how this can be fixed? thanks, RB

I developed a code on Linux, and the only library that I used was boost:filesystem.
But, now, I needed my code on a Mac machine (but I don't have a Mac) so I borrowed my friend's Mac, and installed xcode, and installed boost_1.47, and I didn't get a single error or warning when installing these packages.
But, when I tried to run my code, I was getting errors with ::remove functions.
From boost 1.46, filesystem version 3 is the default instead of version 2. Could it be that you use a version < 1.46 on linux and that remove behaves differently?
Regards, Frédéric
participants (2)
-
Frédéric Bron
-
rudy b