[petsc-users] Problem in some macro when using VS+intel cl

冯上玮 fengshw3 at mail2.sysu.edu.cn
Tue Jun 27 21:09:48 CDT 2023


I've followed your advice and include the header's file and libraries in Visual Studio. Such "error" still shows but I can build the project! It's strange!
I expand the CHKERRQ macro and find the error actually locates at



 
What I know from google is that the "__builtin_expect__" is defined in GCC, so is it unsolvable in Windows with visual studio C compiler or Inter C compiler?
------------------ Original ------------------
From:  "Matthew Knepley"<knepley at gmail.com>;
Date:  Wed, Jun 28, 2023 01:59 AM
To:  "冯上玮"<fengshw3 at mail2.sysu.edu.cn>; 
Cc:  "petsc-users"<petsc-users at mcs.anl.gov>; 
Subject:  Re: [petsc-users] Problem in some macro when using VS+intel cl

 

On Tue, Jun 27, 2023 at 11:32 AM 冯上玮 <fengshw3 at mail2.sysu.edu.cn> wrote:

Hi, 


After failure with MS-MPI once and once again, I tried icl+oneAPI and succeeded in installing and testing PESTc in Cygwin!


However, (always however) when I copied the example code on Getting Started page on visual studio, there are tons of error like:

I just wonder where the problem locates, I've googled this error message and it seems that it's induced by the difference of compilers, c.f. https://stackoverflow.com/questions/42136395/identifier-builtin-expect-is-undefined-during-ros-on-win-tutorial-talker-ex. But Intel says that they also provide such thing on icl, and I actually use this compiler instead of visual studio cl... 




The IDE is not showing the actual error message. Are you sure that your IDE build has the right includes and libraries? You can
get these using


  cd $PETSC_DIR
  make getincludedirs
  make getlinklibs


  Thanks,


     Matt
 
Anyway, the project could be built if I delete these error-checking macro.


Installing feedback (or as a test result):
When configure on windows, only icl + impi works, and in this case, both --with-cc and --with-cxx options need to point out the version like: --with-cc-std-c99 and --with-cxx-std-c++'ver'. Other combinations such as cl + impi, icl + msmpi, cl + msmpi never work. My tutor told me that older version of msmpi may work but I never try this.


FENG.







-- 
What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.
-- Norbert Wiener


https://www.cse.buffalo.edu/~knepley/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20230628/43de8392/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: CCB1C477 at 3FC4424F.6C969B6400000000.jpg
Type: image/jpeg
Size: 186741 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20230628/43de8392/attachment-0001.jpg>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 2F07716E at 673DAE5F.6C969B6400000000.bmp
Type: application/octet-stream
Size: 2280918 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20230628/43de8392/attachment-0001.obj>


More information about the petsc-users mailing list