Opened 7 years ago
Closed 7 years ago
#11744 closed Bugs (invalid)
Preprocessor error ./boost/atomic/detail/int_sizes.hpp:107:55: error: missing binary operator before token "("
Reported by: | Owned by: | timblechmann | |
---|---|---|---|
Milestone: | To Be Determined | Component: | atomic |
Version: | Boost 1.59.0 | Severity: | Problem |
Keywords: | atomic preprocessor missing binary operator | Cc: |
Description
Trying to compile Boost atomic 1.59 with g++ version 4.1.2, gave me this error:
./boost/atomic/detail/int_sizes.hpp:107:55: error: missing binary operator before token "(" ./boost/atomic/detail/int_sizes.hpp:137:2: error: #error Boost.Atomic: Failed to determine builtin integer sizes, the target platform is not supported. Please, report to the developers.
This is the line it is complaining about: #elif (BOOST_ATOMIC_DETAIL_ULLONG_MAX + 0) == UINT64_C(0xffffffffffffffff)
Is there an issue with the cast.
Change History (3)
comment:1 by , 7 years ago
comment:2 by , 7 years ago
The issue is now resolved.
The problem occurred because I only added boost/atomic and boost/detail subdirectories in my include path. Once I included the entire boost directory, this error went away.
I was trying to get a subset of hpp files just for using the atomic library (trying to avoid copying unwanted 3p library headers that I don't need). But from reading documentation about header-only libraries, looks like I have to copy the entire boost directory.
Please close this ticket.
comment:3 by , 7 years ago
Resolution: | → invalid |
---|---|
Status: | new → closed |
Boost.Atomic is not header-only, although most of the time you don't have to link with it. You can see the headers that comprise the library on GitHub, you will need all these files to use the library, along with dependencies.
My platform is RH Linux 32 bit
Linux linux51-dev03.comverse-in.com 2.6.18-53.el5PAE #1 SMP Wed Oct 10 16:48:18 EDT 2007 i686
Red Hat Enterprise Linux Server release 5.1 (Tikanga)