Boost C++ Libraries: Ticket #13192: DLL BOOST_DLL_ALIAS does not compile with Intel C++ https://svn.boost.org/trac10/ticket/13192 <p> The problem is similar to <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/12290" title="#12290: Bugs: DLL BOOST_DLL_ALIAS does not compile with Intel C++ (closed: fixed)">#12290</a>, which was fixed in: </p> <p> Fix aliases on Windows+<a class="missing wiki">IntelCompiler</a> (trac 12290): </p> <pre class="wiki">-#if BOOST_COMP_MSVC +#if BOOST_COMP_MSVC || (BOOST_COMP_INTEL &amp;&amp; BOOST_OS_WINDOWS) </pre><p> I have Intel® Parallel Studio XE 2017 Update 4 (2017.4.120) integrated with MS Visual Studio 2017 Enterprise Update 3 (15.3.3) and the compiler detection in intel.h: </p> <pre class="wiki">#ifdef BOOST_COMP_INTEL_DETECTION # if defined(BOOST_PREDEF_DETAIL_COMP_DETECTED) # define BOOST_COMP_INTEL_EMULATED BOOST_COMP_INTEL_DETECTION # else # undef BOOST_COMP_INTEL # define BOOST_COMP_INTEL BOOST_COMP_INTEL_DETECTION # endif # define BOOST_COMP_INTEL_AVAILABLE # include &lt;boost/predef/detail/comp_detected.h&gt; #endif </pre><p> defines: </p> <p> BOOST_COMP_INTEL_EMULATED &lt;= BOOST_COMP_INTEL_DETECTION </p> <p> BOOST_COMP_INTEL &lt;= BOOST_VERSION_NUMBER_NOT_AVAILABLE </p> <p> This causes the BOOST_DLL_SECTION to be incorrectly defined. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/13192 Trac 1.4.3 anonymous Tue, 05 Sep 2017 12:23:33 GMT version changed https://svn.boost.org/trac10/ticket/13192#comment:1 https://svn.boost.org/trac10/ticket/13192#comment:1 <ul> <li><strong>version</strong> <span class="trac-field-old">Boost 1.63.0</span> → <span class="trac-field-new">Boost 1.65.0</span> </li> </ul> Ticket Przemyslaw Olejniczak <oley@…> Fri, 16 Feb 2018 08:58:59 GMT version changed; cc set https://svn.boost.org/trac10/ticket/13192#comment:2 https://svn.boost.org/trac10/ticket/13192#comment:2 <ul> <li><strong>cc</strong> <span class="trac-author">oley@…</span> added </li> <li><strong>version</strong> <span class="trac-field-old">Boost 1.65.0</span> → <span class="trac-field-new">Boost 1.66.0</span> </li> </ul> <p> This issue still exists in 1.66.0 compiled on Windows with Intel C++18. This code does not compile: </p> <pre class="wiki">#include &lt;memory&gt; #include &lt;boost/dll/alias.hpp&gt; #include &lt;boost/dll/shared_library.hpp&gt; using namespace std; struct Plugin { static shared_ptr&lt;Plugin&gt; create() { return make_shared&lt;Plugin&gt;(); } }; BOOST_DLL_ALIAS( Plugin::create, CreatePlugin ) int main() { return 0; } </pre><p> with an error: </p> <pre class="wiki">1&gt;BoostDLL.cpp 1&gt;Info: Boost.Config is older than your compiler version - probably nothing bad will happen - but you may wish to look for an update Boost version. Define BOOST_CONFIG_SUPPRESS_OUTDATED_MESSAGE to suppress this message. 1&gt;BoostDLL.cpp(21): error #77: this declaration has no storage class or type specifier 1&gt; BOOST_DLL_ALIAS( 1&gt; ^ 1&gt; 1&gt;BoostDLL.cpp(21): error : identifier "section" is undefined 1&gt; BOOST_DLL_ALIAS( 1&gt; ^ 1&gt; 1&gt;BoostDLL.cpp(21): error : expected a ";" 1&gt; BOOST_DLL_ALIAS( 1&gt; ^ 1&gt; 1&gt;compilation aborted for BoostDLL.cpp (code 2) </pre> Ticket John Maddock Thu, 10 May 2018 10:53:43 GMT status changed; resolution set https://svn.boost.org/trac10/ticket/13192#comment:3 https://svn.boost.org/trac10/ticket/13192#comment:3 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">obsolete</span> </li> </ul> <p> Moved to <a class="ext-link" href="https://github.com/boostorg/dll/issues/18"><span class="icon">​</span>https://github.com/boostorg/dll/issues/18</a> </p> Ticket