小编QT-*_*elp的帖子

"1>cl : 命令行错误 D8021: 无效的数字参数 '/Wno-deprecated'" 错误

这个错误:

"1>cl : Command line error D8021: invalid numeric argument '/Wno-deprecated'" 
Run Code Online (Sandbox Code Playgroud)

通过 MSVC 编译器构建 VTK + Qt 项目时发生。我认为标志设置存在一些问题。以下是我的 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
)
Run Code Online (Sandbox Code Playgroud)

请解释如何解决此错误?

compiler-construction qt cmake vtk visual-c++

5
推荐指数
1
解决办法
2万
查看次数

在命名空间中定义类的方法

我在头文件中的命名空间中定义了一个类,如下所示

#ifndef _c1_
#define _c1_

namespace classspace
{
    class Aclass;
}

class Aclass
{
    //body
};

#endif _c1_
Run Code Online (Sandbox Code Playgroud)

我将这个标题添加到main.cpp并在main()中创建了一个对象但是它的返回错误是undefined class 'classspace::Aclass' 我的主要文件

void main()
{
    classspace::Aclass b;
}
Run Code Online (Sandbox Code Playgroud)

当我把课定义为

class classspace::Aclass
{
    //body
};
Run Code Online (Sandbox Code Playgroud)

错误已解决.我在Qt mainwindow文件中看到了第一种方法:

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();

private:
    Ui::MainWindow *ui;
};

#endif // MAINWINDOW_H
Run Code Online (Sandbox Code Playgroud)

工作没有任何错误.在第一种方法中我的错误是什么?

c++ qt namespaces class

3
推荐指数
2
解决办法
692
查看次数

标签 统计

qt ×2

c++ ×1

class ×1

cmake ×1

compiler-construction ×1

namespaces ×1

visual-c++ ×1

vtk ×1