Search code examples
qtvisual-c++cmakevtk

"1>cl : Command line error D8021: invalid numeric argument '/Wno-deprecated'" Erro


This error:

"1>cl : Command line error D8021: invalid numeric argument '/Wno-deprecated'" 

occurring while building VTK + Qt project by MSVC compiler. I think there is some issue with flag settings. following is my CMakeList.txt

cmake_minimum_required(VERSION 2.8)
PROJECT(QtImageViewer)

IF(NOT VTK_BINARY_DIR)  
FIND_PACKAGE(VTK)
    INCLUDE(${VTK_USE_FILE})
ENDIF(NOT VTK_BINARY_DIR)
SET(QT_QMAKE_EXECUTABLE ${VTK_QT_QMAKE_EXECUTABLE} CACHE FILEPATH "")
SET(QT_MOC_EXECUTABLE ${VTK_QT_MOC_EXECUTABLE} CACHE FILEPATH "")
SET(QT_UIC_EXECUTABLE ${VTK_QT_UIC_EXECUTABLE} CACHE FILEPATH "")

FIND_PACKAGE(Qt4 REQUIRED)
INCLUDE(${QT_USE_FILE})
SET (SRCS main.cxx)
INCLUDE_DIRECTORIES( ${QT_INCLUDE_DIR} ${QT_QTGUI_INCLUDE_DIR} ${QT_QTCORE_INCLUDE_DIR})

ADD_EXECUTABLE( qtimageviewer MACOSX_BUNDLE ${SRCS})

TARGET_LINK_LIBRARIES( qtimageviewer
  QVTK
  ${QT_LIBRARIES}
  vtkRendering
  vtkGraphics
  vtkIO
  vtkCommon
)

Please explain how to solve this error?


Solution

  • By examining project properties (Configuration Properties-> C/C++ ->Command Line) it appears that there are some unwanted flags that look like:

    "/Zm1000 -Wno-deprecated -mwin32 -mthreads /bigobj"

    just remove the marked flag, compilation completes correctly.

    Those seem to be MingW, gcc or clang compiler flags, not supported by MSVC.