#3209 closed Bugs (worksforme)
operations.cpp does not compile on Mac OS X with Carbon.h included
Reported by: | Owned by: | Beman Dawes | |
---|---|---|---|
Milestone: | Boost 1.40.0 | Component: | filesystem |
Version: | Boost 1.39.0 | Severity: | Problem |
Keywords: | Cc: |
Description
The ok error_code constant in /libs/filesystem/src/operations.cpp confuses at least CodeWarrior 9.6, because there is an enum value with the same name coming from the DialogManager. You receive this DialogManager constant if you compile code, which requires the Mac Carbon interface. I suggest to rename this constant to something more unique, e.g. boost_ok.
My current explanation of this issue is that CodeWarrior does not seem to be able to distinguish a local namespace constant from a global namespace constant with the same name.
Change History (2)
comment:1 by , 12 years ago
Resolution: | → worksforme |
---|---|
Status: | new → closed |
comment:2 by , 12 years ago
Just for your information.
CodeWarrior is still supported by boost.build, and we still need it on occasion to support old stuff (although it became rare over the last two years). The reason to use Mac OS X Carbon headers with a operations.cpp compile is to have a source-only compilation in a CodeWarrior project, which uses the Carbon toolset as well. Nevertheless, we are sticking to boost 1.36 for these projects and they won't be updated to a newer version.
Thanks,
Wolfgang
CodeWarrior isn't a supported compiler. Also, I'm not aware of any reason to include a Mac OS X header in a operations.cpp compile.
Sorry,
--Beman