VS2022 QT5.13.2 VTK9.1 编译 VTK8.2代码报错汇总

warning C4819:
该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为Unicode格式以防止数据丢失。

**原因:**这些代码是下载的别人Ubuntu上的代码,编码格式水土不服,需要改成utf8带签名的才能正确编译。

1)单击“工具”|“自定义”命令,弹出“自定义”对话框。
(2)单击“命令”标签,进入“命令”选项卡。
(3)在“菜单栏”下拉列表中,选择“文件”选项。
(4)单击“添加命令”按钮,弹出“添加命令”对话框。
(5)在“类别”列表中,选择“文件”选项;在“命令”列表中,选择“高级保存选项”选项。
(6)单击“确定”按钮,关闭“添加命令”对话框。
(7)选中“控件”列表中的“高级保存选项”选项,单击“上移”或者“下移”按钮,调整该命令的位置。
(8)单击“关闭”按钮,完成“高级保存选项”命令的添加操作。
(9)打开“文件”菜单下的“高级保存选项”,设置编码 Unicode(utf-8带签名)- 代码页 65001

error C1803:
无法打开包括文件:“xxx.h”,No such file or directory

原因:****缺少头文件是VC++缺少包含目录和库目录,链接库附加依赖项

error C2039:

原因:****xxx不是xxx的成员缺少头文件,去寻找函数对应的头文件,进行include

VS 提示无法启动程序“ \DEBUG\ALL-BUILD”,系统找不到指定的文件

解决方法:****(先安装windows10 SDK)项目->设为启动项目

错误C2440 “初始化”

原因:转换类型错误

报错代码:

 std::vector<uint32_t> vertexIndexes = mesh.polygons[i].vertices;

修改后的代码:

 std::vector<pcl::index_t> vertexIndexes = mesh.polygons[i].vertices;
程序运行报错:
QVTKOpenGLNativeWidget requires a vtkGenericOpenGLRenderWindow. vtkWin32OpenGLRenderWindow is not supported.

报错代码:

  mycloud.cloud.reset(new PointCloudT);
  mycloud.cloud->resize(1);
  viewer.reset(new pcl::visualization::PCLVisualizer("viewer", false));
  //vtk8.2
  ui.screen->SetRenderWindow(viewer->getRenderWindow());
  viewer->setupInteractor(ui.screen->GetInteractor(), ui.screen->GetRenderWindow());
  ui.screen->update();
 

修改后代码:

  mycloud.cloud.reset(new PointCloudT);
  auto renderer2 = vtkSmartPointer<vtkRenderer>::New();
  auto renderWindow2 = vtkSmartPointer<vtkGenericOpenGLRenderWindow>::New();
  renderWindow2->AddRenderer(renderer2);
  mycloud.cloud->resize(1);
  viewer.reset(new pcl::visualization::PCLVisualizer(renderer2, renderWindow2, "viewer", false));
  //vtk9.1
  ui.screen->setRenderWindow(viewer->getRenderWindow());
  viewer->setupInteractor(ui.screen->interactor(), ui.screen->renderWindow());
  ui.screen->update();
Qt VS Tools中 Create Basic .pro File等功能键不可使用(转pro文件)

解决方法: 找到项目对应的.vcxproj工程文件,用记事本打开,编辑菜单里查询 “Keyword”,将Win32proj替换为Qt4Vsv1.0或QtVS_v304,与VS和QT版本无关,关闭项目或重新加载即可。

Qt LINK : fatal error LNK1181 .lib

原因:pro文件中配置静态库存在问题,或空格、或换行符 \ 。PCL1.12.1、VTK9.1库配置
解决方法:重新配置如下(Debug/Release版本):

INCLUDEPATH += E:\PCL1.12.1\PCL1.12.1\include\pcl-1.12

INCLUDEPATH += E:\PCL1.12.1\PCL1.12.1\include\pcl-1.12\pcl

INCLUDEPATH += E:\PCL1.12.1\PCL1.12.1\3rdParty\Boost\include\boost-1_78

INCLUDEPATH += E:\PCL1.12.1\PCL1.12.1\3rdParty\Boost\include\boost-1_78\boost

INCLUDEPATH += E:\PCL1.12.1\PCL1.12.1\3rdParty\Eigen\eigen3

INCLUDEPATH += E:\PCL1.12.1\PCL1.12.1\3rdParty\FLANN\include

INCLUDEPATH += E:\PCL1.12.1\PCL1.12.1\3rdParty\FLANN\include\flann

INCLUDEPATH += E:\PCL1.12.1\PCL1.12.1\3rdParty\OpenNI2\Include

INCLUDEPATH += E:\PCL1.12.1\PCL1.12.1\3rdParty\Qhull\include

INCLUDEPATH += E:\PCL1.12.1\PCL1.12.1\3rdParty\VTK\include\vtk-9.1

CONFIG(debug,debug|release){
LIBS += -LE:\PCL1.12.1\PCL1.12.1\lib\
        -lpcl_commond\
        -lpcl_featuresd\
        -lpcl_filtersd\
        -lpcl_iod\
        -lpcl_io_plyd\
        -lpcl_kdtreed\
        -lpcl_keypointsd\
        -lpcl_mld\
        -lpcl_octreed\
        -lpcl_outofcored\
        -lpcl_peopled\
        -lpcl_recognitiond\
        -lpcl_registrationd\
        -lpcl_sample_consensusd\
        -lpcl_searchd\
        -lpcl_segmentationd\
        -lpcl_stereod\
        -lpcl_surfaced\
        -lpcl_trackingd\
        -lpcl_visualizationd

LIBS += -LE:\PCL1.12.1\PCL1.12.1\3rdParty\Boost\lib\
        -llibboost_atomic-vc142-mt-gd-x64-1_78\
        -llibboost_bzip2-vc142-mt-gd-x64-1_78\
        -llibboost_chrono-vc142-mt-gd-x64-1_78\
        -llibboost_container-vc142-mt-gd-x64-1_78\
        -llibboost_context-vc142-mt-gd-x64-1_78\
        -llibboost_coroutine-vc142-mt-gd-x64-1_78\
        -llibboost_date_time-vc142-mt-gd-x64-1_78\
        -llibboost_exception-vc142-mt-gd-x64-1_78\
        -llibboost_filesystem-vc142-mt-gd-x64-1_78\
        -llibboost_graph-vc142-mt-gd-x64-1_78\
        -llibboost_graph_parallel-vc142-mt-gd-x64-1_78\
        -llibboost_iostreams-vc142-mt-gd-x64-1_78\
        -llibboost_locale-vc142-mt-gd-x64-1_78\
        -llibboost_log-vc142-mt-gd-x64-1_78\
        -llibboost_log_setup-vc142-mt-gd-x64-1_78\
        -llibboost_math_c99-vc142-mt-gd-x64-1_78\
        -llibboost_math_c99f-vc142-mt-gd-x64-1_78\
        -llibboost_math_c99l-vc142-mt-gd-x64-1_78\
        -llibboost_math_tr1-vc142-mt-gd-x64-1_78\
        -llibboost_math_tr1f-vc142-mt-gd-x64-1_78\
        -llibboost_math_tr1l-vc142-mt-gd-x64-1_78\
        -llibboost_mpi-vc142-mt-gd-x64-1_78\
        -llibboost_numpy38-vc142-mt-gd-x64-1_78\
        -llibboost_prg_exec_monitor-vc142-mt-gd-x64-1_78\
        -llibboost_program_options-vc142-mt-gd-x64-1_78\
        -llibboost_python38-vc142-mt-gd-x64-1_78\
        -llibboost_random-vc142-mt-gd-x64-1_78\
        -llibboost_regex-vc142-mt-gd-x64-1_78\
        -llibboost_serialization-vc142-mt-gd-x64-1_78\
        -llibboost_system-vc142-mt-gd-x64-1_78\
        -llibboost_test_exec_monitor-vc142-mt-gd-x64-1_78\
        -llibboost_thread-vc142-mt-gd-x64-1_78\
        -llibboost_timer-vc142-mt-gd-x64-1_78\
        -llibboost_type_erasure-vc142-mt-gd-x64-1_78\
        -llibboost_unit_test_framework-vc142-mt-gd-x64-1_78\
        -llibboost_wave-vc142-mt-gd-x64-1_78\
        -llibboost_wserialization-vc142-mt-gd-x64-1_78\
        -llibboost_zlib-vc142-mt-gd-x64-1_78

LIBS += -LE:\PCL1.12.1\PCL1.12.1\3rdParty\FLANN\lib\
        -lflann-gd\
        -lflann_cpp-gd\
        -lflann_cpp_s-gd\
        -lflann_s-gd

LIBS += -LE:\PCL1.12.1\PCL1.12.1\3rdParty\OpenNI2\Lib\
        -lOpenNI2

LIBS += -LE:\PCL1.12.1\PCL1.12.1\3rdParty\Qhull\lib\
        -lqhull_r\
        -lqhullcpp_d\
        -lqhullcpp\
        -lqhullstatic_d\
        -lqhullstatic_rd\
        -lqhullstatic\
        -lqhull_rd

LIBS += -LE:\Qt\Qt5.13.2\5.13.2\msvc2017_64\lib\
        -lQt5OpenGLd

LIBS += -LE:\PCL1.12.1\PCL1.12.1\3rdParty\VTK\lib\
        -lvtkcgns-9.1d\
        -lvtkChartsCore-9.1d\
        -lvtkCommonColor-9.1d\
        -lvtkCommonComputationalGeometry-9.1d\
        -lvtkCommonCore-9.1d\
        -lvtkCommonDataModel-9.1d\
        -lvtkCommonExecutionModel-9.1d\
        -lvtkCommonMath-9.1d\
        -lvtkCommonMisc-9.1d\
        -lvtkCommonSystem-9.1d\
        -lvtkCommonTransforms-9.1d\
        -lvtkDICOMParser-9.1d\
        -lvtkDomainsChemistry-9.1d\
        -lvtkDomainsChemistryOpenGL2-9.1d\
        -lvtkdoubleconversion-9.1d\
        -lvtkexodusII-9.1d\
        -lvtkexpat-9.1d\
        -lvtkFiltersAMR-9.1d\
        -lvtkFiltersCore-9.1d\
        -lvtkFiltersExtraction-9.1d\
        -lvtkFiltersFlowPaths-9.1d\
        -lvtkFiltersGeneral-9.1d\
        -lvtkFiltersGeneric-9.1d\
        -lvtkFiltersGeometry-9.1d\
        -lvtkFiltersHybrid-9.1d\
        -lvtkFiltersHyperTree-9.1d\
        -lvtkFiltersImaging-9.1d\
        -lvtkFiltersModeling-9.1d\
        -lvtkFiltersParallel-9.1d\
        -lvtkFiltersParallelImaging-9.1d\
        -lvtkFiltersPoints-9.1d\
        -lvtkFiltersProgrammable-9.1d\
        -lvtkFiltersSelection-9.1d\
        -lvtkFiltersSMP-9.1d\
        -lvtkFiltersSources-9.1d\
        -lvtkFiltersStatistics-9.1d\
        -lvtkFiltersTexture-9.1d\
        -lvtkFiltersTopology-9.1d\
        -lvtkFiltersVerdict-9.1d\
        -lvtkfmt-9.1d\
        -lvtkfreetype-9.1d\
        -lvtkGeovisCore-9.1d\
        -lvtkgl2ps-9.1d\
        -lvtkglew-9.1d\
        -lvtkGUISupportQt-9.1d\
        -lvtkGUISupportQtQuick-9.1d\
        -lvtkGUISupportQtSQL-9.1d\
        -lvtkhdf5-9.1d\
        -lvtkhdf5_hl-9.1d\
        -lvtkImagingColor-9.1d\
        -lvtkImagingCore-9.1d\
        -lvtkImagingFourier-9.1d\
        -lvtkImagingGeneral-9.1d\
        -lvtkImagingHybrid-9.1d\
        -lvtkImagingMath-9.1d\
        -lvtkImagingMorphological-9.1d\
        -lvtkImagingSources-9.1d\
        -lvtkImagingStatistics-9.1d\
        -lvtkImagingStencil-9.1d\
        -lvtkInfovisCore-9.1d\
        -lvtkInfovisLayout-9.1d\
        -lvtkInteractionImage-9.1d\
        -lvtkInteractionStyle-9.1d\
        -lvtkInteractionWidgets-9.1d\
        -lvtkIOAMR-9.1d\
        -lvtkIOAsynchronous-9.1d\
        -lvtkIOCore-9.1d\
        -lvtkIOEnSight-9.1d\
        -lvtkIOExodus-9.1d\
        -lvtkIOExport-9.1d\
        -lvtkIOExportGL2PS-9.1d\
        -lvtkIOGeometry-9.1d\
        -lvtkIOImage-9.1d\
        -lvtkIOImport-9.1d\
        -lvtkIOInfovis-9.1d\
        -lvtkIOLegacy-9.1d\
        -lvtkIOLSDyna-9.1d\
        -lvtkIOMINC-9.1d\
        -lvtkIOMovie-9.1d\
        -lvtkIONetCDF-9.1d\
        -lvtkIOParallel-9.1d\
        -lvtkIOParallelXML-9.1d\
        -lvtkIOPLY-9.1d\
        -lvtkIOSQL-9.1d\
        -lvtkIOTecplotTable-9.1d\
        -lvtkIOVideo-9.1d\
        -lvtkIOXML-9.1d\
        -lvtkIOXMLParser-9.1d\
        -lvtkjpeg-9.1d\
        -lvtkjsoncpp-9.1d\
        -lvtklibharu-9.1d\
        -lvtklibxml2-9.1d\
        -lvtklz4-9.1d\
        -lvtkmetaio-9.1d\
        -lvtknetcdf-9.1d\
        -lvtkogg-9.1d\
        -lvtkParallelCore-9.1d\
        -lvtkpng-9.1d\
        -lvtkParallelDIY-9.1d\
        -lvtkpugixml-9.1d\
        -lvtkRenderingAnnotation-9.1d\
        -lvtkRenderingContext2D-9.1d\
        -lvtkRenderingContextOpenGL2-9.1d\
        -lvtkRenderingCore-9.1d\
        -lvtkRenderingFreeType-9.1d\
        -lvtkRenderingGL2PSOpenGL2-9.1d\
        -lvtkRenderingImage-9.1d\
        -lvtkRenderingLabel-9.1d\
        -lvtkRenderingLOD-9.1d\
        -lvtkRenderingOpenGL2-9.1d\
        -lvtkRenderingQt-9.1d\
        -lvtkRenderingSceneGraph-9.1d\
        -lvtkRenderingUI-9.1d\
        -lvtkRenderingVolume-9.1d\
        -lvtkRenderingVolumeOpenGL2-9.1d\
        -lvtkRenderingVtkJS-9.1d\
        -lvtksqlite-9.1d\
        -lvtksys-9.1d\
        -lvtkTestingRendering-9.1d\
        -lvtktheora-9.1d\
        -lvtktiff-9.1d\
        -lvtkverdict-9.1d\
        -lvtkViewsContext2D-9.1d\
        -lvtkViewsCore-9.1d\
        -lvtkViewsInfovis-9.1d\
        -lvtkViewsQt-9.1d\
        -lvtkzlib-9.1d
} else {
LIBS += -LE:\PCL1.12.1\PCL1.12.1\lib\
        -lpcl_common\
        -lpcl_features\
        -lpcl_filters\
        -lpcl_io_ply\
        -lpcl_io\
        -lpcl_kdtree\
        -lpcl_keypoints\
        -lpcl_ml\
        -lpcl_octree\
        -lpcl_outofcore\
        -lpcl_people\
        -lpcl_recognition\
        -lpcl_registration\
        -lpcl_sample_consensus\
        -lpcl_search\
        -lpcl_segmentation\
        -lpcl_stereo\
        -lpcl_surface\
        -lpcl_tracking\
        -lpcl_visualization

LIBS += -LE:\PCL1.12.1\PCL1.12.1\3rdParty\Boost\lib\
        -llibboost_atomic-vc142-mt-x64-1_78\
        -llibboost_bzip2-vc142-mt-x64-1_78\
        -llibboost_chrono-vc142-mt-x64-1_78\
        -llibboost_container-vc142-mt-x64-1_78\
        -llibboost_context-vc142-mt-x64-1_78\
        -llibboost_coroutine-vc142-mt-x64-1_78\
        -llibboost_date_time-vc142-mt-x64-1_78\
        -llibboost_exception-vc142-mt-x64-1_78\
        -llibboost_filesystem-vc142-mt-x64-1_78\
        -llibboost_graph-vc142-mt-x64-1_78\
        -llibboost_graph_parallel-vc142-mt-x64-1_78\
        -llibboost_iostreams-vc142-mt-x64-1_78\
        -llibboost_locale-vc142-mt-x64-1_78\
        -llibboost_log-vc142-mt-x64-1_78\
        -llibboost_log_setup-vc142-mt-x64-1_78\
        -llibboost_math_c99-vc142-mt-x64-1_78\
        -llibboost_math_c99f-vc142-mt-x64-1_78\
        -llibboost_math_c99l-vc142-mt-x64-1_78\
        -llibboost_math_tr1-vc142-mt-x64-1_78\
        -llibboost_math_tr1f-vc142-mt-x64-1_78\
        -llibboost_math_tr1l-vc142-mt-x64-1_78\
        -llibboost_mpi-vc142-mt-x64-1_78\
        -llibboost_numpy38-vc142-mt-x64-1_78\
        -llibboost_prg_exec_monitor-vc142-mt-x64-1_78\
        -llibboost_program_options-vc142-mt-x64-1_78\
        -llibboost_python38-vc142-mt-x64-1_78\
        -llibboost_random-vc142-mt-x64-1_78\
        -llibboost_regex-vc142-mt-x64-1_78\
        -llibboost_serialization-vc142-mt-x64-1_78\
        -llibboost_system-vc142-mt-x64-1_78\
        -llibboost_test_exec_monitor-vc142-mt-x64-1_78\
        -llibboost_thread-vc142-mt-x64-1_78\
        -llibboost_timer-vc142-mt-x64-1_78\
        -llibboost_type_erasure-vc142-mt-x64-1_78\
        -llibboost_unit_test_framework-vc142-mt-x64-1_78\
        -llibboost_wave-vc142-mt-x64-1_78\
        -llibboost_wserialization-vc142-mt-x64-1_78\
        -llibboost_zlib-vc142-mt-x64-1_78

LIBS += -LE:\PCL1.12.1\PCL1.12.1\3rdParty\FLANN\lib\
        -lflann\
        -lflann_cpp\
        -lflann_cpp_s\
        -lflann_s

LIBS += -LE:\PCL1.12.1\PCL1.12.1\3rdParty\OpenNI2\Lib\
        -lOpenNI2

LIBS += -LE:\PCL1.12.1\PCL1.12.1\3rdParty\Qhull\lib\
        -lqhullcpp\
        -lqhullstatic\
        -lqhullstatic_r\
        -lqhull_r

LIBS += -LE:\PCL1.12.1\PCL1.12.1\3rdParty\VTK\lib\
        -lvtkChartsCore-9.1\
        -lvtkCommonColor-9.1\
        -lvtkCommonComputationalGeometry-9.1\
        -lvtkCommonCore-9.1\
        -lvtkCommonDataModel-9.1\
        -lvtkCommonExecutionModel-9.1\
        -lvtkCommonMath-9.1\
        -lvtkCommonMisc-9.1\
        -lvtkCommonSystem-9.1\
        -lvtkCommonTransforms-9.1\
        -lvtkDICOMParser-9.1\
        -lvtkDomainsChemistry-9.1\
        -lvtkexpat-9.1\
        -lvtkFiltersAMR-9.1\
        -lvtkFiltersCore-9.1\
        -lvtkFiltersExtraction-9.1\
        -lvtkFiltersFlowPaths-9.1\
        -lvtkFiltersGeneral-9.1\
        -lvtkFiltersGeneric-9.1\
        -lvtkFiltersGeometry-9.1\
        -lvtkFiltersHybrid-9.1\
        -lvtkFiltersHyperTree-9.1\
        -lvtkFiltersImaging-9.1\
        -lvtkFiltersModeling-9.1\
        -lvtkFiltersParallel-9.1\
        -lvtkFiltersParallelImaging-9.1\
        -lvtkFiltersPoints-9.1\
        -lvtkFiltersProgrammable-9.1\
        -lvtkFiltersSelection-9.1\
        -lvtkFiltersSMP-9.1\
        -lvtkFiltersSources-9.1\
        -lvtkFiltersStatistics-9.1\
        -lvtkFiltersTexture-9.1\
        -lvtkFiltersTopology-9.1\
        -lvtkFiltersVerdict-9.1\
        -lvtkfreetype-9.1\
        -lvtkGeovisCore-9.1\
        -lvtkgl2ps-9.1\
        -lvtkGUISupportQt-9.1\
        -lvtkGUISupportQtQuick-9.1\
        -lvtkGUISupportQtSQL-9.1\
        -lvtkhdf5-9.1\
        -lvtkhdf5_hl-9.1\
        -lvtkImagingColor-9.1\
        -lvtkImagingCore-9.1\
        -lvtkImagingFourier-9.1\
        -lvtkImagingGeneral-9.1\
        -lvtkImagingHybrid-9.1\
        -lvtkImagingMath-9.1\
        -lvtkImagingMorphological-9.1\
        -lvtkImagingSources-9.1\
        -lvtkImagingStatistics-9.1\
        -lvtkImagingStencil-9.1\
        -lvtkInfovisCore-9.1\
        -lvtkInfovisLayout-9.1\
        -lvtkInteractionImage-9.1\
        -lvtkInteractionStyle-9.1\
        -lvtkInteractionWidgets-9.1\
        -lvtkIOAMR-9.1\
        -lvtkIOCore-9.1\
        -lvtkIOEnSight-9.1\
        -lvtkIOExodus-9.1\
        -lvtkIOExport-9.1\
        -lvtkIOExportGL2PS-9.1\
        -lvtkIOGeometry-9.1\
        -lvtkIOImage-9.1\
        -lvtkIOImport-9.1\
        -lvtkIOInfovis-9.1\
        -lvtkIOLegacy-9.1\
        -lvtkIOLSDyna-9.1\
        -lvtkIOMINC-9.1\
        -lvtkIOMovie-9.1\
        -lvtkIONetCDF-9.1\
        -lvtkIOParallel-9.1\
        -lvtkIOParallelXML-9.1\
        -lvtkIOPLY-9.1\
        -lvtkIOSQL-9.1\
        -lvtkIOTecplotTable-9.1\
        -lvtkIOVideo-9.1\
        -lvtkIOXML-9.1\
        -lvtkIOXMLParser-9.1\
        -lvtkjpeg-9.1\
        -lvtkjsoncpp-9.1\
        -lvtklibharu-9.1\
        -lvtklibxml2-9.1\
        -lvtklz4-9.1\
        -lvtkmetaio-9.1\
        -lvtknetcdf-9.1\
        -lvtkogg-9.1\
        -lvtkParallelCore-9.1\
        -lvtkpng-9.1\
        -lvtkParallelDIY-9.1\
        -lvtkpugixml-9.1\
        -lvtkRenderingAnnotation-9.1\
        -lvtkRenderingContext2D-9.1\
        -lvtkRenderingContextOpenGL2-9.1\
        -lvtkRenderingCore-9.1\
        -lvtkRenderingFreeType-9.1\
        -lvtkRenderingGL2PSOpenGL2-9.1\
        -lvtkRenderingImage-9.1\
        -lvtkRenderingLabel-9.1\
        -lvtkRenderingLOD-9.1\
        -lvtkRenderingOpenGL2-9.1\
        -lvtkRenderingQt-9.1\
        -lvtkRenderingSceneGraph-9.1\
        -lvtkRenderingUI-9.1\
        -lvtkRenderingVolume-9.1\
        -lvtkRenderingVolumeOpenGL2-9.1\
        -lvtkRenderingVtkJS-9.1\
        -lvtksqlite-9.1\
        -lvtksys-9.1\
        -lvtkTestingRendering-9.1\
        -lvtktheora-9.1\
        -lvtktiff-9.1\
        -lvtkverdict-9.1\
        -lvtkViewsContext2D-9.1\
        -lvtkViewsCore-9.1\
        -lvtkViewsInfovis-9.1\
        -lvtkViewsQt-9.1\
        -lvtkzlib-9.1
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值