Ticket #4135 (closed Bugs: fixed)

Opened 7 years ago

Last modified 7 years ago

C:\Program Files\boost\boost_1_42_0\boost/iostreams/detail/path.hpp(53) : error C2825: 'Path': must be a class or namespace when followed by '::'

Reported by: pele@… Owned by: danieljames
Milestone: Boost 1.43.0 Component: iostreams
Version: Boost 1.42.0 Severity: Regression
Keywords: Cc:


When trying to compile a project in VisualStudio2005 and using boost1.42 I get errors (when including boost/iostreams for example) that is attached in the "log" that I've created.

I don't get this error on Linux with boost 1.38

I've built my own boost 1.42 as per instructions in "Boost Getting Started on Windows".


BuildLog.htm (8.1 KB) - added by pele@… 7 years ago.
Build log

Change History

Changed 7 years ago by pele@…

Build log

comment:1 Changed 7 years ago by pele@…

I also get those same errors when using 1.42 binaries from boostpro. I don't get them using 1.38 boostpro bins. All on vstudio2005.

comment:2 Changed 7 years ago by danieljames

  • Owner changed from turkanis to danieljames
  • Status changed from new to assigned
  • Severity changed from Showstopper to Regression
  • Milestone changed from Boost 1.43.0 to Boost 1.44.0

Sorry, it's probably too late to fix this for 1.43. I think that the problem is that you're constructing with a char* which is a closer match for the templated constructor (which is intended to be used with a Boost.Filesystem path) than for the const char* constructor. So as a temporary workaround you could try casting to const char* when constructing the path. I'll try to come up with a proper fix in trunk soon.

comment:3 Changed 7 years ago by danieljames

(In [61497]) Only support the templated constructor for types with an 'external_string_type' member. Refs #4135.

Using SFINAE, I might add a workaround for compilers that don't support it, although I'm not sure if there are any that Iostreams supports.

comment:4 Changed 7 years ago by anonymous

  • Milestone changed from Boost 1.44.0 to Boost 1.43.0

comment:5 Changed 7 years ago by danieljames

  • Status changed from assigned to closed
  • Resolution set to fixed

(In [61641]) Merge iostreams. Fixes #4135 and some small tweaks for clang.


Add a comment

Modify Ticket

Change Properties
<Author field>
as closed
The resolution will be deleted. Next status will be 'reopened'

E-mail address and user name can be saved in the Preferences.

Note: See TracTickets for help on using tickets.