<html dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<style id="owaParaStyle" type="text/css">P {margin-top:0;margin-bottom:0;}</style>
</head>
<body ocsi="0" fpstyle="1">
<div style="direction: ltr;font-family: Tahoma;color: #000000;font-size: 10pt;">this error has nothing to do with moab/ParallelComm.hpp<br>
<br>
MPI_COMM_WORLD is just a constant, not a type<br>
<div>
<div><br>
this should give compile errors too.<br>
<br>
Or I don't get what are you trying to do<br>
<br>
#include <mpi.h></div>
<div><br>
</div>
<div>int main() {</div>
<div>  MPI_COMM_WORLD my;</div>
<div>}</div>
</div>
<br>
<br>
<div style="font-family: Times New Roman; color: #000000; font-size: 16px">
<hr tabindex="-1">
<div style="direction: ltr;" id="divRpF877206"><font size="2" color="#000000" face="Tahoma"><b>From:</b> moab-dev-bounces@mcs.anl.gov [moab-dev-bounces@mcs.anl.gov] on behalf of Nico Schlömer [nico.schloemer@gmail.com]<br>
<b>Sent:</b> Monday, November 02, 2015 4:49 PM<br>
<b>To:</b> Vijay S. Mahadevan<br>
<b>Cc:</b> moab-dev@mcs.anl.gov<br>
<b>Subject:</b> Re: [MOAB-dev] moab/ParallelComm.hpp include order<br>
</font><br>
</div>
<div></div>
<div>
<div dir="ltr">Alright. This
<div>```</div>
<div>
<div>#include <mpi.h></div>
<div>#include <moab/ParallelComm.hpp></div>
<div><br>
</div>
<div>int main() {</div>
<div>  MPI_COMM_WORLD my;</div>
<div>}</div>
</div>
<div>```</div>
<div>creates the same</div>
<div>```</div>
<div> error: ‘MPI_COMM_WORLD’ was not declared in this scope<br>
</div>
<div>```</div>
<div>Can you reproduce?</div>
<div><br>
</div>
<div>Cheers,</div>
<div>Nico</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr">On Mon, Nov 2, 2015 at 11:38 PM Nico Schlömer <<a href="mailto:nico.schloemer@gmail.com" target="_blank">nico.schloemer@gmail.com</a>> wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex; border-left:1px #ccc solid; padding-left:1ex">
<div dir="ltr">Including <moab/MOABConfig.h> doesn't help. I'll see about creating a minimal example...</div>
<div dir="ltr">
<div><br>
</div>
<div>--Nico</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr">On Mon, Nov 2, 2015 at 10:05 PM Vijay S. Mahadevan <<a href="mailto:vijay.m@gmail.com" target="_blank">vijay.m@gmail.com</a>> wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex; border-left:1px #ccc solid; padding-left:1ex">
Can you try including moab/MOABConfig.h directly in your test before<br>
ParallelComm and see if that resolves issues ?<br>
<br>
ParallelComm includes Interface.hpp which in turn includes<br>
MOABConfig.h. If you are including some other MOAB header before<br>
these, MOAB_HAVE_MPI might not be defined.<br>
<br>
Vijay<br>
<br>
On Mon, Nov 2, 2015 at 3:00 PM, Nico Schlömer <<a href="mailto:nico.schloemer@gmail.com" target="_blank">nico.schloemer@gmail.com</a>> wrote:<br>
> It's a little convoluted with Trilinos includes right now, I'm trying to<br>
> generate a minimal example.<br>
><br>
> --Nico<br>
><br>
> On Mon, Nov 2, 2015 at 10:00 PM Vijay S. Mahadevan <<a href="mailto:vijay.m@gmail.com" target="_blank">vijay.m@gmail.com</a>><br>
> wrote:<br>
>><br>
>> Nico, can you give an example ? What else did you include before<br>
>> ParallelComm to get such an error ? I am guessing this has to do with<br>
>> how moab/MOABConfig.h gets included since that's where MOAB_HAVE_MPI<br>
>> is defined.<br>
>><br>
>> Vijay<br>
>><br>
>> On Mon, Nov 2, 2015 at 2:47 PM, Nico Schlömer <<a href="mailto:nico.schloemer@gmail.com" target="_blank">nico.schloemer@gmail.com</a>><br>
>> wrote:<br>
>> > When playing with MOAB, I found that if I include the header<br>
>> > ```<br>
>> > #include <moab/ParallelComm.hpp><br>
>> > ```<br>
>> > after something that's also using MPI, I'm getting strange compilation<br>
>> > errors of the kind<br>
>> > ```<br>
>> > error: ‘MPI_COMM_WORLD’ was not declared in this scope<br>
>> > ```<br>
>> > Has anyone else experienced this?<br>
>> ><br>
>> > Cheers,<br>
>> > Nico<br>
</blockquote>
</div>
</blockquote>
</div>
</div>
</div>
</div>
</body>
</html>