[Trilinos-Users] How to define _MSC_VER

David Cole david.cole at kitware.com
Wed Jul 7 03:58:45 MDT 2010


This is almost certainly not a good idea.

Developers who write:
#ifdef _MSC_VER

expect that inside such an ifdef block, that they are compiling with cl, the
Microsoft compiler.

Sounds like there is more work to be done to get Trilinos to build on
Windows with MinGW gcc.

For now, it would be better if you could shift to using the Microsoft
compiler, as that is the one that is known to work with existing Trilinos
code. Even the free express edition should be just fine. (Better than
hacking flags like this to pretend that MinGW gcc is cl...)


On Tue, Jul 6, 2010 at 9:07 PM, John R. Cary <cary at colorado.edu> wrote:

> On 7/6/2010 6:25 PM, Heroux, Michael A wrote:
> > Hi John,
> >
> > Can you simply add -D_MSC_VER to your compiler flags for now?
> >
> >
>
> Hi Mike,
>
> This got me part way.  I actually had to
> add
>
> -D_MSC_VER
>
> -I/C/msys/1.0/home/cary/vpall/builds/trilinos-10.2.0/commonTools/WinInterface/include
>
> to the flags.  Almost there but stopped at
>
> cd
>
> /C/msys/1.0/home/cary/vpall/builds/trilinos-10.2.0/ser/packages/belos/epetra/src
> && /C/MinGW/bin/g++.exe    -D_MSC_VER
>
> -I/C/msys/1.0/home/cary/vpall/builds/trilinos-10.2.0/commonTools/WinInterface/include
> -O3 -I/C/msys/1.0/home/cary/vpall/builds/trilinos-10.2.0/ser
>
> -I/C/msys/1.0/home/cary/vpall/builds/trilinos-10.2.0/ser/packages/belos/epetra/src
>
> -I/C/msys/1.0/home/cary/vpall/builds/trilinos-10.2.0/packages/belos/epetra/src
> -I/C/msys/1.0/home/cary/vpall/builds/trilinos-10.2.0/ser/packages/belos/src
> -I/C/msys/1.0/home/cary/vpall/builds/trilinos-10.2.0/packages/belos/src
>
> -I/C/msys/1.0/home/cary/vpall/builds/trilinos-10.2.0/ser/packages/epetra/src
> -I/C/msys/1.0/home/cary/vpall/builds/trilinos-10.2.0/packages/epetra/src
> -I/C/msys/1.0/home/cary/vpall/builds/trilinos-10.2.0
>
> -I/C/msys/1.0/home/cary/vpall/builds/trilinos-10.2.0/ser/packages/teuchos/src
> -I/C/msys/1.0/home/cary/vpall/builds/trilinos-10.2.0/packages/teuchos/src
> -o CMakeFiles/belosepetra.dir/BelosEpetraOperator.cpp.obj -c
>
> /C/msys/1.0/home/cary/vpall/builds/trilinos-10.2.0/packages/belos/epetra/src/BelosEpetraOperator.cpp
> In file included from
>
> c:/msys/1.0/home/cary/vpall/builds/trilinos-10.2.0/packages/belos/epetra/src/BelosEpetraOperator.h:46:0,
>                  from
>
> c:/msys/1.0/home/cary/vpall/builds/trilinos-10.2.0/packages/belos/epetra/src/BelosEpetraOperator.cpp:34:
>
> c:/msys/1.0/home/cary/vpall/builds/trilinos-10.2.0/packages/belos/src/BelosBlockGmresSolMgr.hpp:315:101:
> error: conflicting declaration 'const typename
> Teuchos::ScalarTraits<T>::magnitudeType
> Belos::BlockGmresSolMgr<ScalarType, MV, OP>::convtol_default_'
>
> c:/msys/1.0/home/cary/vpall/builds/trilinos-10.2.0/packages/belos/src/BelosBlockGmresSolMgr.hpp:276:30:
> error: 'Belos::BlockGmresSolMgr<ScalarType, MV, OP>::convtol_default_'
> has a previous declaration as 'Belos::BlockGmresSolMgr<ScalarType, MV,
> OP>::MagnitudeType Belos::BlockGmresSolMgr<ScalarType, MV,
> OP>::convtol_default_'
>
> c:/msys/1.0/home/cary/vpall/builds/trilinos-10.2.0/packages/belos/src/BelosBlockGmresSolMgr.hpp:315:101:
> error: declaration of 'Belos::BlockGmresSolMgr<ScalarType, MV,
> OP>::MagnitudeType Belos::BlockGmresSolMgr<ScalarType, MV,
> OP>::convtol_default_' outside of class is not definition
>
> c:/msys/1.0/home/cary/vpall/builds/trilinos-10.2.0/packages/belos/src/BelosBlockGmresSolMgr.hpp:318:101:
> error: conflicting declaration 'const typename
> Teuchos::ScalarTraits<T>::magnitudeType
> Belos::BlockGmresSolMgr<ScalarType, MV, OP>::orthoKappa_default_'
>
> c:/msys/1.0/home/cary/vpall/builds/trilinos-10.2.0/packages/belos/src/BelosBlockGmresSolMgr.hpp:277:30:
> error: 'Belos::BlockGmresSolMgr<ScalarType, MV,
> OP>::orthoKappa_default_' has a previous declaration as
> 'Belos::BlockGmresSolMgr<ScalarType, MV, OP>::MagnitudeType
> Belos::BlockGmresSolMgr<ScalarType, MV, OP>::orthoKappa_default_'
>
> My configure line was
>
> cmake -DCMAKE_INSTALL_PREFIX:PATH=/contrib/trilinos-10.2.0-ser
> -DCMAKE_BUILD_
> TYPE:STRING=RELEASE -DSVN_BINDIR:PATH='C:/Program
> Files/CollabNet/Subversion Cl
> ient' -G 'MSYS Makefiles' -DCMAKE_BUILD_TYPE:STRING=RELEASE
> -DCMAKE_VERBOSE_MAK
> EFILE:BOOL=TRUE -DCMAKE_C_COMPILER:FILEPATH='gcc'
> -DCMAKE_CXX_COMPILER:FILEPATH
> ='g++' -DCMAKE_Fortran_COMPILER:FILEPATH='gfortran'
> -DCMAKE_C_FLAGS:STRING='-D_
> MSC_VER
> -I/C/msys/1.0/home/cary/vpall/builds/trilinos-10.2.0/commonTools/WinInt
> erface/include' -DCMAKE_CXX_FLAGS:STRING='-D_MSC_VER
> -I/C/msys/1.0/home/cary/vp
> all/builds/trilinos-10.2.0/commonTools/WinInterface/include'
> -DCMAKE_Fortran_FL
> AGS:STRING='' -DTrilinos_ENABLE_Amesos:BOOL=ON
> -DTrilinos_ENABLE_ML:BOOL=ON -DT
> rilinos_ENABLE_AztecOO:BOOL=ON -DTrilinos_ENABLE_EpetraExt:BOOL=ON
> -DTrilinos_E
> NABLE_Epetra:BOOL=ON -DTrilinos_ENABLE_Triutils:BOOL=ON
> -DTrilinos_ENABLE_Teuch
> os:BOOL=ON -DTrilinos_ENABLE_Ifpack:BOOL=ON
> -DTrilinos_ENABLE_Galeri:BOOL=ON -D
> Trilinos_ENABLE_Anasazi:BOOL=ON -DDART_TESTING_TIMEOUT:STRING=600
> -DTrilinos_E
> XTRA_LINK_FLAGS:STRING='-L/home/cary/vpall -Wl,-rpath,/home/cary/vpall'
> -DBUIL
> D_SHARED_LIBS:BOOL=OFF
> -DLAPACK_LIBRARY_DIRS:PATH='/contrib/lapack_cmake-3.2.1-
> ser/lib' -DLAPACK_LIBRARY_NAMES:STRING='lapack'
> -DBLAS_LIBRARY_DIRS:PATH='/cont
> rib/lapack_cmake-3.2.1-ser/lib' -DBLAS_LIBRARY_NAMES:STRING='blas'
> /home/cary/v
> pall/builds/trilinos-10.2.0
>
> and this is
>
> $ g++ --version
> g++.exe (GCC) 4.5.0
> Copyright (C) 2010 Free Software Foundation, Inc.
> This is free software; see the source for copying conditions.  There is NO
> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
>
> on MinGW.
>
> Thx....John
>
>
>
>
> _______________________________________________
> Trilinos-Users mailing list
> Trilinos-Users at software.sandia.gov
> http://software.sandia.gov/mailman/listinfo/trilinos-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://software.sandia.gov/pipermail/trilinos-users/attachments/20100707/f9c47a37/attachment-0001.html 


More information about the Trilinos-Users mailing list