Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. :-1: error: D8021 : invalid numeric argument '/Wreturn-type'

:-1: error: D8021 : invalid numeric argument '/Wreturn-type'

Scheduled Pinned Locked Moved Unsolved General and Desktop
6 Posts 2 Posters 4.9k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • K Offline
    K Offline
    kapike
    wrote on last edited by
    #1

    Re: :-1: error: D8021 : invalid numeric argument '/Wextra'

    I have same problem like this question.I remove this line from the *.pro file: QMAKE_CXXFLAGS += -Wextra,but it is useless.
    The code is from this website:http://web.stanford.edu/class/cs106b//handouts/assignments.html
    I use complier MSVC 14.0
    I'm new to Qt creator,can anyone tell me how to fix this error?
    Thanks in advance.

    A 1 Reply Last reply
    0
    • K kapike

      Re: :-1: error: D8021 : invalid numeric argument '/Wextra'

      I have same problem like this question.I remove this line from the *.pro file: QMAKE_CXXFLAGS += -Wextra,but it is useless.
      The code is from this website:http://web.stanford.edu/class/cs106b//handouts/assignments.html
      I use complier MSVC 14.0
      I'm new to Qt creator,can anyone tell me how to fix this error?
      Thanks in advance.

      A Offline
      A Offline
      ambershark
      wrote on last edited by
      #2

      @kapike Show me the .pro file and I can tell you which line has the issue and how to fix it.

      My L-GPL'd C++ Logger github.com/ambershark-mike/sharklog

      K 1 Reply Last reply
      0
      • K Offline
        K Offline
        kapike
        wrote on last edited by
        #3
        
        TEMPLATE = app
        
        # make sure we do not accidentally #include files placed in 'resources'
        CONFIG += no_include_pwd
        
        # checks to ensure that the Stanford C++ library and its associated
        # Java back-end are both present in this project
        !exists($$PWD/lib/StanfordCPPLib/private/version.h) {
            message(*** Stanford C++ library not found!)
            message(*** This project cannot run without the folder lib/StanfordCPPLib/.)
            message(*** Place that folder into your project and try again.)
            error(Exiting.)
        }
        !exists($$PWD/lib/spl.jar) {
            message(*** Stanford Java back-end library 'spl.jar' not found!)
            message(*** This project cannot run without spl.jar present.)
            message(*** Place that file into your lib/ folder and try again.)
            error(Exiting.)
        }
        
        win32 {
            !exists($$PWD/lib/addr2line.exe) {
                message(*** Stanford C++ library support file 'addr2line.exe' not found!)
                message(*** Our library needs this file present to produce stack traces.)
                message(*** Place that file into your lib/ folder and try again.)
                error(Exiting.)
            }
        }
        
        # include various source .cpp files and header .h files in the build process
        # (student's source code can be put into project root, or src/ subfolder)
        SOURCES += $$PWD/lib/StanfordCPPLib/*.cpp
        SOURCES += $$PWD/lib/StanfordCPPLib/stacktrace/*.cpp
        exists($$PWD/src/*.cpp) {
            SOURCES += $$PWD/src/*.cpp
        }
        exists($$PWD/src/test/*.cpp) {
            SOURCES += $$PWD/src/test/*.cpp
        }
        exists($$PWD/*.cpp) {
            SOURCES += $$PWD/*.cpp
        }
        
        HEADERS += $$PWD/lib/StanfordCPPLib/*.h
        HEADERS += $$PWD/lib/StanfordCPPLib/private/*.h
        HEADERS += $$PWD/lib/StanfordCPPLib/stacktrace/*.h
        exists($$PWD/src/*.h) {
            HEADERS += $$PWD/src/*.h
        }
        exists($$PWD/src/test/*.h) {
            HEADERS += $$PWD/src/test/*.h
        }
        exists($$PWD/*.h) {
            HEADERS += $$PWD/*.h
        }
        
        # set up flags for the C++ compiler
        # (In general, many warnings/errors are enabled to tighten compile-time checking.
        # A few overly pedantic/confusing errors are turned off for simplicity.)
        QMAKE_CXXFLAGS += -std=c++11
        QMAKE_CXXFLAGS += -Wall
        #QMAKE_CXXFLAGS += -Wextra
        QMAKE_CXXFLAGS += -Wreturn-type
        QMAKE_CXXFLAGS += -Werror=return-type
        QMAKE_CXXFLAGS += -Wunreachable-code
        QMAKE_CXXFLAGS += -Wno-missing-field-initializers
        QMAKE_CXXFLAGS += -Wno-sign-compare
        QMAKE_CXXFLAGS += -Wno-write-strings
        
        unix:!macx {
            QMAKE_CXXFLAGS += -rdynamic
            QMAKE_LFLAGS += -rdynamic
            QMAKE_LFLAGS += -Wl,--export-dynamic
            QMAKE_CXXFLAGS += -Wl,--export-dynamic
        }
        !win32 {
            QMAKE_CXXFLAGS += -Wno-dangling-field
            QMAKE_CXXFLAGS += -Wno-unused-const-variable
            LIBS += -ldl
        }
        
        # increase system stack size (helpful for recursive programs)
        win32 {
            QMAKE_LFLAGS += -Wl,--stack,536870912
            LIBS += -lDbghelp
            LIBS += -lbfd
            #LIBS += -liberty
            LIBS += -limagehlp
        }
        macx {
            #QMAKE_LFLAGS += -Wl,-stack_size,0x2000000
        }
        
        # set up flags used internally by the Stanford C++ libraries
        DEFINES += SPL_CONSOLE_X=999999
        DEFINES += SPL_CONSOLE_Y=999999
        DEFINES += SPL_CONSOLE_WIDTH=750
        DEFINES += SPL_CONSOLE_HEIGHT=500
        DEFINES += SPL_CONSOLE_FONTSIZE=14
        DEFINES += SPL_CONSOLE_ECHO
        DEFINES += SPL_CONSOLE_EXIT_ON_CLOSE
        DEFINES += SPL_VERIFY_JAVA_BACKEND_VERSION
        DEFINES += SPL_PROJECT_VERSION=20141113
        
        # directories examined by Qt Creator when student writes an #include statement
        INCLUDEPATH += $$PWD/lib/StanfordCPPLib/
        INCLUDEPATH += $$PWD/lib/StanfordCPPLib/private/
        INCLUDEPATH += $$PWD/lib/StanfordCPPLib/stacktrace/
        INCLUDEPATH += $$PWD/src/
        INCLUDEPATH += $$PWD/
        exists($$PWD/src/test/*.h) {
            INCLUDEPATH += $$PWD/src/test/
        }
        
        # build-specific options (debug vs release)
        CONFIG(release, debug|release) {
            # make 'release' target be statically linked so it is a stand-alone executable
            # (this code comes from Rasmus Rygaard)
            QMAKE_CXXFLAGS += -O2
            macx {
                QMAKE_POST_LINK += 'macdeployqt $${OUT_PWD}/$${TARGET}.app && rm $${OUT_PWD}/*.o && rm $${OUT_PWD}/Makefile'
            }
            unix:!macx {
                QMAKE_POST_LINK += 'rm $${OUT_PWD}/*.o && rm $${OUT_PWD}/Makefile'
                QMAKE_LFLAGS += -static
                QMAKE_LFLAGS += -static-libgcc
                QMAKE_LFLAGS += -static-libstdc++
            }
            win32 {
                TARGET_PATH = $${OUT_PWD}/release/$${TARGET}.exe
                TARGET_PATH ~= s,/,\\,g
        
                OUT_PATH = $${OUT_PWD}/
                OUT_PATH ~= s,/,\\,g
        
                REMOVE_DIRS += $${OUT_PWD}/release
                REMOVE_DIRS += $${OUT_PWD}/debug
                REMOVE_FILES += $${OUT_PWD}/Makefile
                REMOVE_FILES += $${OUT_PWD}/Makefile.Debug
                REMOVE_FILES += $${OUT_PWD}/Makefile.Release
                REMOVE_FILES += $${OUT_PWD}/object_script.$${TARGET}.Release
                REMOVE_FILES += $${OUT_PWD}/object_script.$${TARGET}.Debug
                REMOVE_DIRS ~= s,/,\\,g
                REMOVE_FILES ~= s,/,\\,g
        
                QMAKE_LFLAGS += -static
                QMAKE_LFLAGS += -static-libgcc
                QMAKE_LFLAGS += -static-libstdc++
                QMAKE_POST_LINK += 'move $${TARGET_PATH} $${OUT_PWD} \
                    && rmdir /s /q $${REMOVE_DIRS} \
                    && del $${REMOVE_FILES}'
            }
        }
        CONFIG(debug, debug|release) {
            # make 'debug' target use no optimization, generate debugger symbols,
            # and catch/print any uncaught exceptions thrown by the program
            QMAKE_CXXFLAGS += -O0
            QMAKE_CXXFLAGS += -g3
            QMAKE_CXXFLAGS += -ggdb3
            DEFINES += SPL_CONSOLE_PRINT_EXCEPTIONS
        }
        
        # This function copies the given files to the destination directory.
        # Used to place important resources from res/ and spl.jar into build/ folder.
        defineTest(copyToDestdir) {
            files = $$1
        
            for(FILE, files) {
                DDIR = $$OUT_PWD
        
                # Replace slashes in paths with backslashes for Windows
                win32:FILE ~= s,/,\\,g
                win32:DDIR ~= s,/,\\,g
        
                !win32 {
                    copyResources.commands += cp -r '"'$$FILE'"' '"'$$DDIR'"' $$escape_expand(\\n\\t)
                }
                win32 {
                    copyResources.commands += xcopy '"'$$FILE'"' '"'$$DDIR'"' /e /y $$escape_expand(\\n\\t)
                }
            }
            export(copyResources.commands)
        }
        
        !win32 {
            copyToDestdir($$files($$PWD/res/*))
            copyToDestdir($$files($$PWD/lib/*.jar))
            exists($$PWD/*.txt) {
                copyToDestdir($$files($$PWD/*.txt))
            }
        }
        win32 {
            copyToDestdir($$PWD/res)
            copyToDestdir($$PWD/lib/*.jar)
            copyToDestdir($$PWD/lib/addr2line.exe)
            exists($$PWD/*.txt) {
                copyToDestdir($$PWD/*.txt)
            }
        }
        
        copyResources.input += $$files($$PWD/lib/*.jar)
        win32 {
            copyResources.input += $$files($$PWD/lib/addr2line.exe)
        }
        copyResources.input += $$files($$PWD/res/*)
        exists($$PWD/*.txt) {
            copyResources.input += $$files($$PWD/*.txt)
        }
        
        OTHER_FILES += $$files(res/*)
        exists($$PWD/*.txt) {
            OTHER_FILES += $$files($$PWD/*.txt)
        }
        
        QMAKE_EXTRA_TARGETS += copyResources
        POST_TARGETDEPS += copyResources
        
        # Platform-specific project settings to reduce warnings on Mac OS X systems
        macx {
            cache()
            QMAKE_MAC_SDK = macosx
        }
        
        # ================== END GENERAL PROJECT SETTINGS ==================
        
        # settings specific to CS 106 B/X auto-grading programs; do not modify
        exists($$PWD/lib/autograder/*.cpp) {
            # include the various autograder source code and libraries in the build process
            SOURCES += $$PWD/lib/autograder/*.cpp
            HEADERS += $$PWD/lib/autograder/*.h
            INCLUDEPATH += $$PWD/lib/StanfordCPPLib/private/
            INCLUDEPATH += $$PWD/lib/autograder/
            DEFINES += SPL_AUTOGRADER_MODE
        
            # a check to ensure that required autograder resources are present in this project
            !exists($$PWD/res/autograder/pass.gif) {
                message(*** Stanford library cannot find its image files pass.gif, fail.gif, etc.!)
                message(*** This project cannot run without those images present.)
                message(*** Place those files into your res/autograder/ folder and try again.)
                error(Exiting.)
            }
        
            # copy autograder resource files into build folder
            copyResources.input += $$files($$PWD/res/autograder/*)
            OTHER_FILES += $$files(res/autograder/*)
        
            !win32 {
                LIBS += -lpthread
                copyToDestdir($$files($$PWD/res/autograder/*))
            }
            win32 {
                copyToDestdir($$PWD/res/autograder)
            }
        
            # copy source code into build folder so it can be analyzed by style checker
            exists($$PWD/src/*.cpp) {
                copyResources.input += $$files($$PWD/src/*.cpp)
                copyToDestdir($$files($$PWD/src/*.cpp))
            }
            exists($$PWD/*.cpp) {
                copyResources.input += $$files($$PWD/*.cpp)
                copyToDestdir($$files($$PWD/*.cpp))
            }
            exists($$PWD/src/*.h) {
                copyResources.input += $$files($$PWD/src/*.h)
                copyToDestdir($$files($$PWD/src/*.h))
            }
            exists($$PWD/*.h) {
                copyResources.input += $$files($$PWD/*.h)
                copyToDestdir($$files($$PWD/*.h))
            }
        }
        
        1 Reply Last reply
        0
        • A ambershark

          @kapike Show me the .pro file and I can tell you which line has the issue and how to fix it.

          K Offline
          K Offline
          kapike
          wrote on last edited by
          #4

          @ambershark I comment the line

          #QMAKE_CXXFLAGS += -Wextra
          
          A 1 Reply Last reply
          0
          • K kapike

            @ambershark I comment the line

            #QMAKE_CXXFLAGS += -Wextra
            
            A Offline
            A Offline
            ambershark
            wrote on last edited by
            #5

            @kapike That was a much bigger pro file than I was expecting.. Can you post the output from the build? Basically what I am looking for is the actual build line that errors.

            If it were gcc it would be something like gcc -c filename -L/some/path -lblah etc.

            So if you could post the full build log I should be able to find it. I know the problem I just don't see the error in the pro file, but it's large enough I don't want to read line by line for a small typo.

            My L-GPL'd C++ Logger github.com/ambershark-mike/sharklog

            1 Reply Last reply
            0
            • K Offline
              K Offline
              kapike
              wrote on last edited by
              #6

              You mean that i should show Compile Output.

              cl : Command line error D8021 : invalid numeric argument '/Wextra'
              jom: C:\Users\fghj\Desktop\cs106b\cs106b-hw1-fauxtoshop-starter-files\build-Fauxtoshop-Desktop_Qt_5_8_0_MSVC2015_64bit-Debug\Makefile.Debug [debug\base64.obj] Error 2
              
              cl : Command line error D8021 : invalid numeric argument '/Wextra'
              jom: C:\Users\fghj\Desktop\cs106b\cs106b-hw1-fauxtoshop-starter-files\build-Fauxtoshop-Desktop_Qt_5_8_0_MSVC2015_64bit-Debug\Makefile.Debug [debug\gevents.obj] Error 2
              jom: C:\Users\fghj\Desktop\cs106b\cs106b-hw1-fauxtoshop-starter-files\build-Fauxtoshop-Desktop_Qt_5_8_0_MSVC2015_64bit-Debug\Makefile [debug] Error 2
              12:41:57: The process "D:\qt\Tools\QtCreator\bin\jom.exe" exited with code 2.
              Error while building/deploying project Fauxtoshop (kit: Desktop Qt 5.8.0 MSVC2015_64bit)
              The kit Desktop Qt 5.8.0 MSVC2015_64bit has configuration issues which might be the root cause for this problem.
              When executing step "Make"
              
              1 Reply Last reply
              0

              • Login

              • Login or register to search.
              • First post
                Last post
              0
              • Categories
              • Recent
              • Tags
              • Popular
              • Users
              • Groups
              • Search
              • Get Qt Extensions
              • Unsolved