pcl1.8.0+vs2013環(huán)境配置超詳細(xì)教程
最近開始學(xué)習(xí)pcl,經(jīng)過(guò)幾天的搗鼓終于將pcl1.8.0和vs2013的環(huán)境搭建起來(lái)。
準(zhǔn)備
pcl版本:PCL-1.8.0-AllInOne-msvc2013-win64
vs版本:vs2013
下載地址鏈接:鏈接: https://pan.baidu.com/s/1L6trLERkzylkBUjTw94RNQ?pwd=ep39 提取碼: ep39
因?yàn)槲业碾娔X是64位的,所以只有64位版本。
安裝
vs2013下載解壓默認(rèn)安裝就好了。
PCL整個(gè)安裝過(guò)程需要注意以下三點(diǎn),其它默認(rèn)即可(我是安裝在D盤):
1. 安裝路徑最好不要包括中文;
2. 建議勾選上“Add PCL to the system PATH for all users”;
3. 安裝時(shí),會(huì)提示安裝OpenNI,這個(gè)建議安裝在PCL安裝路徑的3rdParty下的OpenNI2文件夾中。

安裝完成之后將下載好的PCL-1.8.0-AllInOne-msvc2013-win64-pdb,pdb文件拷貝到PCL ROOT下的bin文件夾中,下圖是拷貝后的樣子

配置
我們打開vs2013新建一個(gè)c++控制臺(tái)程序,選擇空項(xiàng)目,去掉“預(yù)編譯頭(P)”前的勾,去掉“安全開發(fā)生命周期(SDL)檢查(C)”前的勾,其它默認(rèn)即可。

在進(jìn)去之后我們可以看見調(diào)試器右邊有一個(gè)Debug 和Win32,我們需要了解的是編譯出的程序分成32位和64位,不同的位數(shù)需要不同的lib和dll才能編譯出來(lái),這就需要我們下載對(duì)應(yīng)的pcl版本。不同的位數(shù)的程序分成Debug和Release,vs默認(rèn)的是Debug。假若需要生產(chǎn)上面4中程序需要分別設(shè)置對(duì)應(yīng)的項(xiàng)目屬性表。
首先將屬性管理器調(diào)出來(lái)

VS默認(rèn)只生成32位的程序,32位的屬性管理器中只有兩項(xiàng):Debug|Win32以及Release|Win32,
如果需要生成64的程序,方法如下:VS界面有個(gè)運(yùn)行項(xiàng),后面有個(gè)debug,在后面有個(gè)叫“解決方案平臺(tái)”的下拉框,其值默認(rèn)為win32,需要把win32,改成x64

,方法是,點(diǎn)win32的箭頭,點(diǎn)“配置管理器”,點(diǎn)“活動(dòng)解決方案平臺(tái)”,點(diǎn)“新建”,把“鍵入或選擇新平臺(tái)”,這一項(xiàng),切換為x64,然后確定,此時(shí),原來(lái)的win32已變?yōu)閤64。這時(shí)編譯生成的程序就是64位版本的,相應(yīng)的屬性管理器中變成四項(xiàng)。

下面我們就可以在屬性管理器中進(jìn)行屬性表的配置。選中其中一項(xiàng),右鍵點(diǎn)擊“添加新項(xiàng)目屬性表”,在彈出的對(duì)話框里設(shè)置好對(duì)應(yīng)的屬性表名和路徑。確認(rèn)之后,在該項(xiàng)中就會(huì)多出一項(xiàng)以剛才屬性表名為名稱的屬性表。
注:下面配置的是Debugx64的屬性表?。。?/p>
在新建的屬性表里,有三個(gè)必須設(shè)置的重要項(xiàng)目:附加包含目錄,附加庫(kù)目錄,附加依賴項(xiàng)。
1. 附加包含目錄,其在項(xiàng)目屬性“C/C++”子項(xiàng)的“常規(guī)”里下,主要用來(lái)設(shè)置庫(kù)的頭文件路徑。這里設(shè)置好PCL及第三方庫(kù)的頭文件路徑。

D:\PCL 1.8.0\include\pcl-1.8
D:\PCL 1.8.0\3rdParty\Boost\include\boost-1_59
D:\PCL 1.8.0\3rdParty\Eigen\eigen3
D:\PCL 1.8.0\3rdParty\FLANN\include
D:\PCL 1.8.0\3rdParty\OpenNI2\Include
D:\PCL 1.8.0\3rdParty\Qhull\include
D:\PCL 1.8.0\3rdParty\VTK\include\vtk-7.0
2. 附加庫(kù)目錄,其在項(xiàng)目屬性的“連接器”子項(xiàng)的“常規(guī)”下,主要用來(lái)設(shè)置庫(kù)的lib文件路徑。這里設(shè)置好設(shè)置PCL及第三方庫(kù)的lib文件路徑。

D:\PCL 1.8.0\lib
D:\PCL 1.8.0\3rdParty\Boost\lib
D:\PCL 1.8.0\3rdParty\FLANN\lib
D:\PCL 1.8.0\3rdParty\OpenNI2\lib
D:\PCL 1.8.0\3rdParty\Qhull\lib
D:\PCL 1.8.0\3rdParty\VTK\lib
3. 附加依賴項(xiàng),其在項(xiàng)目屬性的“連接器”子項(xiàng)的“輸入”下,主要用來(lái)設(shè)置編譯所需的lib。這里設(shè)置好設(shè)置PCL及第三方庫(kù)的lib文件名。

直接復(fù)制下面就可以。
pcl_apps_debug.lib pcl_common_debug.lib pcl_features_debug.lib pcl_filters_debug.lib pcl_io_debug.lib pcl_io_ply_debug.lib pcl_kdtree_debug.lib pcl_keypoints_debug.lib pcl_ml_debug.lib pcl_octree_debug.lib pcl_outofcore_debug.lib pcl_people_debug.lib pcl_recognition_debug.lib pcl_registration_debug.lib pcl_sample_consensus_debug.lib pcl_search_debug.lib pcl_segmentation_debug.lib pcl_simulation_debug.lib pcl_stereo_debug.lib pcl_surface_debug.lib pcl_tracking_debug.lib pcl_visualization_debug.lib libboost_atomic-vc120-mt-gd-1_59.lib libboost_chrono-vc120-mt-gd-1_59.lib libboost_container-vc120-mt-gd-1_59.lib libboost_context-vc120-mt-gd-1_59.lib libboost_coroutine-vc120-mt-gd-1_59.lib libboost_date_time-vc120-mt-gd-1_59.lib libboost_exception-vc120-mt-gd-1_59.lib libboost_filesystem-vc120-mt-gd-1_59.lib libboost_graph-vc120-mt-gd-1_59.lib libboost_iostreams-vc120-mt-gd-1_59.lib libboost_locale-vc120-mt-gd-1_59.lib libboost_log-vc120-mt-gd-1_59.lib libboost_log_setup-vc120-mt-gd-1_59.lib libboost_math_c99-vc120-mt-gd-1_59.lib libboost_math_c99f-vc120-mt-gd-1_59.lib libboost_math_c99l-vc120-mt-gd-1_59.lib libboost_math_tr1-vc120-mt-gd-1_59.lib libboost_math_tr1f-vc120-mt-gd-1_59.lib libboost_math_tr1l-vc120-mt-gd-1_59.lib libboost_mpi-vc120-mt-gd-1_59.lib libboost_prg_exec_monitor-vc120-mt-gd-1_59.lib libboost_program_options-vc120-mt-gd-1_59.lib libboost_random-vc120-mt-gd-1_59.lib libboost_regex-vc120-mt-gd-1_59.lib libboost_serialization-vc120-mt-gd-1_59.lib libboost_signals-vc120-mt-gd-1_59.lib libboost_system-vc120-mt-gd-1_59.lib libboost_test_exec_monitor-vc120-mt-gd-1_59.lib libboost_thread-vc120-mt-gd-1_59.lib libboost_timer-vc120-mt-gd-1_59.lib libboost_unit_test_framework-vc120-mt-gd-1_59.lib libboost_wave-vc120-mt-gd-1_59.lib libboost_wserialization-vc120-mt-gd-1_59.lib flann_cpp_s-gd.lib flann_s-gd.lib flann-gd.lib OpenNI2.lib qhullstatic_r-gd.lib qhull_p-gd.lib qhull_r-gd.lib qhullcpp-gd.lib qhull-gd.lib qhullstatic-gd.lib vtkalglib-7.0-gd.lib vtkChartsCore-7.0-gd.lib vtkCommonColor-7.0-gd.lib vtkCommonComputationalGeometry-7.0-gd.lib vtkCommonCore-7.0-gd.lib vtkCommonDataModel-7.0-gd.lib vtkCommonExecutionModel-7.0-gd.lib vtkCommonMath-7.0-gd.lib vtkCommonMisc-7.0-gd.lib vtkCommonSystem-7.0-gd.lib vtkCommonTransforms-7.0-gd.lib vtkDICOMParser-7.0-gd.lib vtkDomainsChemistry-7.0-gd.lib vtkDomainsChemistryOpenGL2-7.0-gd.lib vtkexoIIc-7.0-gd.lib vtkexpat-7.0-gd.lib vtkFiltersAMR-7.0-gd.lib vtkFiltersCore-7.0-gd.lib vtkFiltersExtraction-7.0-gd.lib vtkFiltersFlowPaths-7.0-gd.lib vtkFiltersGeneral-7.0-gd.lib vtkFiltersGeneric-7.0-gd.lib vtkFiltersGeometry-7.0-gd.lib vtkFiltersHybrid-7.0-gd.lib vtkFiltersHyperTree-7.0-gd.lib vtkFiltersImaging-7.0-gd.lib vtkFiltersModeling-7.0-gd.lib vtkFiltersParallel-7.0-gd.lib vtkFiltersParallelImaging-7.0-gd.lib vtkFiltersProgrammable-7.0-gd.lib vtkFiltersSelection-7.0-gd.lib vtkFiltersSMP-7.0-gd.lib vtkFiltersSources-7.0-gd.lib vtkFiltersStatistics-7.0-gd.lib vtkFiltersTexture-7.0-gd.lib vtkFiltersVerdict-7.0-gd.lib vtkfreetype-7.0-gd.lib vtkGeovisCore-7.0-gd.lib vtkglew-7.0-gd.lib vtkGUISupportQt-7.0-gd.lib vtkGUISupportQtSQL-7.0-gd.lib vtkhdf5-7.0-gd.lib vtkhdf5_hl-7.0-gd.lib vtkImagingColor-7.0-gd.lib vtkImagingCore-7.0-gd.lib vtkImagingFourier-7.0-gd.lib vtkImagingGeneral-7.0-gd.lib vtkImagingHybrid-7.0-gd.lib vtkImagingMath-7.0-gd.lib vtkImagingMorphological-7.0-gd.lib vtkImagingSources-7.0-gd.lib vtkImagingStatistics-7.0-gd.lib vtkImagingStencil-7.0-gd.lib vtkInfovisCore-7.0-gd.lib vtkInfovisLayout-7.0-gd.lib vtkInteractionImage-7.0-gd.lib vtkInteractionStyle-7.0-gd.lib vtkInteractionWidgets-7.0-gd.lib vtkIOAMR-7.0-gd.lib vtkIOCore-7.0-gd.lib vtkIOEnSight-7.0-gd.lib vtkIOExodus-7.0-gd.lib vtkIOExport-7.0-gd.lib vtkIOGeometry-7.0-gd.lib vtkIOImage-7.0-gd.lib vtkIOImport-7.0-gd.lib vtkIOInfovis-7.0-gd.lib vtkIOLegacy-7.0-gd.lib vtkIOLSDyna-7.0-gd.lib vtkIOMINC-7.0-gd.lib vtkIOMovie-7.0-gd.lib vtkIONetCDF-7.0-gd.lib vtkIOParallel-7.0-gd.lib vtkIOParallelXML-7.0-gd.lib vtkIOPLY-7.0-gd.lib vtkIOSQL-7.0-gd.lib vtkIOVideo-7.0-gd.lib vtkIOXML-7.0-gd.lib vtkIOXMLParser-7.0-gd.lib vtkjpeg-7.0-gd.lib vtkjsoncpp-7.0-gd.lib vtklibxml2-7.0-gd.lib vtkmetaio-7.0-gd.lib vtkNetCDF-7.0-gd.lib vtkNetCDF_cxx-7.0-gd.lib vtkoggtheora-7.0-gd.lib vtkParallelCore-7.0-gd.lib vtkpng-7.0-gd.lib vtkproj4-7.0-gd.lib vtkRenderingAnnotation-7.0-gd.lib vtkRenderingContext2D-7.0-gd.lib vtkRenderingContextOpenGL2-7.0-gd.lib vtkRenderingCore-7.0-gd.lib vtkRenderingFreeType-7.0-gd.lib vtkRenderingImage-7.0-gd.lib vtkRenderingLabel-7.0-gd.lib vtkRenderingLOD-7.0-gd.lib vtkRenderingOpenGL2-7.0-gd.lib vtkRenderingQt-7.0-gd.lib vtkRenderingVolume-7.0-gd.lib vtkRenderingVolumeOpenGL2-7.0-gd.lib vtksqlite-7.0-gd.lib vtksys-7.0-gd.lib vtktiff-7.0-gd.lib vtkverdict-7.0-gd.lib vtkViewsContext2D-7.0-gd.lib vtkViewsCore-7.0-gd.lib vtkViewsInfovis-7.0-gd.lib vtkViewsQt-7.0-gd.lib vtkzlib-7.0-gd.lib
Releasex64版本的附加依賴項(xiàng):
pcl_common_release.lib pcl_features_release.lib pcl_filters_release.lib pcl_io_ply_release.lib pcl_io_release.lib pcl_kdtree_release.lib pcl_keypoints_release.lib pcl_ml_release.lib pcl_octree_release.lib pcl_outofcore_release.lib pcl_people_release.lib pcl_recognition_release.lib pcl_registration_release.lib pcl_sample_consensus_release.lib pcl_search_release.lib pcl_segmentation_release.lib pcl_stereo_release.lib pcl_surface_release.lib pcl_tracking_release.lib pcl_visualization_release.lib libboost_atomic-vc120-mt-1_59.lib libboost_chrono-vc120-mt-1_59.lib libboost_container-vc120-mt-1_59.lib libboost_context-vc120-mt-1_59.lib libboost_coroutine-vc120-mt-1_59.lib libboost_date_time-vc120-mt-1_59.lib libboost_exception-vc120-mt-1_59.lib libboost_filesystem-vc120-mt-1_59.lib libboost_graph-vc120-mt-1_59.lib libboost_iostreams-vc120-mt-1_59.lib libboost_locale-vc120-mt-1_59.lib libboost_log-vc120-mt-1_59.lib libboost_log_setup-vc120-mt-1_59.lib libboost_math_c99-vc120-mt-1_59.lib libboost_math_c99f-vc120-mt-1_59.lib libboost_math_c99l-vc120-mt-1_59.lib libboost_math_tr1-vc120-mt-1_59.lib libboost_math_tr1f-vc120-mt-1_59.lib libboost_math_tr1l-vc120-mt-1_59.lib libboost_mpi-vc120-mt-1_59.lib libboost_prg_exec_monitor-vc120-mt-1_59.lib libboost_program_options-vc120-mt-1_59.lib libboost_random-vc120-mt-1_59.lib libboost_regex-vc120-mt-1_59.lib libboost_serialization-vc120-mt-1_59.lib libboost_signals-vc120-mt-1_59.lib libboost_system-vc120-mt-1_59.lib libboost_test_exec_monitor-vc120-mt-1_59.lib libboost_thread-vc120-mt-1_59.lib libboost_timer-vc120-mt-1_59.lib libboost_unit_test_framework-vc120-mt-1_59.lib libboost_wave-vc120-mt-1_59.lib libboost_wserialization-vc120-mt-1_59.lib flann_cpp_s.lib flann_s.lib qhull.lib qhullcpp.lib qhullstatic.lib qhullstatic_r.lib qhull_p.lib qhull_r.lib vtkalglib-7.0.lib vtkChartsCore-7.0.lib vtkCommonColor-7.0.lib vtkCommonComputationalGeometry-7.0.lib vtkCommonCore-7.0.lib vtkCommonDataModel-7.0.lib vtkCommonExecutionModel-7.0.lib vtkCommonMath-7.0.lib vtkCommonMisc-7.0.lib vtkCommonSystem-7.0.lib vtkCommonTransforms-7.0.lib vtkDICOMParser-7.0.lib vtkDomainsChemistry-7.0.lib vtkDomainsChemistryOpenGL2-7.0.lib vtkexoIIc-7.0.lib vtkexpat-7.0.lib vtkFiltersAMR-7.0.lib vtkFiltersCore-7.0.lib vtkFiltersExtraction-7.0.lib vtkFiltersFlowPaths-7.0.lib vtkFiltersGeneral-7.0.lib vtkFiltersGeneric-7.0.lib vtkFiltersGeometry-7.0.lib vtkFiltersHybrid-7.0.lib vtkFiltersHyperTree-7.0.lib vtkFiltersImaging-7.0.lib vtkFiltersModeling-7.0.lib vtkFiltersParallel-7.0.lib vtkFiltersParallelImaging-7.0.lib vtkFiltersProgrammable-7.0.lib vtkFiltersSelection-7.0.lib vtkFiltersSMP-7.0.lib vtkFiltersSources-7.0.lib vtkFiltersStatistics-7.0.lib vtkFiltersTexture-7.0.lib vtkFiltersVerdict-7.0.lib vtkfreetype-7.0.lib vtkGeovisCore-7.0.lib vtkglew-7.0.lib vtkGUISupportQt-7.0.lib vtkGUISupportQtSQL-7.0.lib vtkhdf5-7.0.lib vtkhdf5_hl-7.0.lib vtkImagingColor-7.0.lib vtkImagingCore-7.0.lib vtkImagingFourier-7.0.lib vtkImagingGeneral-7.0.lib vtkImagingHybrid-7.0.lib vtkImagingMath-7.0.lib vtkImagingMorphological-7.0.lib vtkImagingSources-7.0.lib vtkImagingStatistics-7.0.lib vtkImagingStencil-7.0.lib vtkInfovisCore-7.0.lib vtkInfovisLayout-7.0.lib vtkInteractionImage-7.0.lib vtkInteractionStyle-7.0.lib vtkInteractionWidgets-7.0.lib vtkIOAMR-7.0.lib vtkIOCore-7.0.lib vtkIOEnSight-7.0.lib vtkIOExodus-7.0.lib vtkIOExport-7.0.lib vtkIOGeometry-7.0.lib vtkIOImage-7.0.lib vtkIOImport-7.0.lib vtkIOInfovis-7.0.lib vtkIOLegacy-7.0.lib vtkIOLSDyna-7.0.lib vtkIOMINC-7.0.lib vtkIOMovie-7.0.lib vtkIONetCDF-7.0.lib vtkIOParallel-7.0.lib vtkIOParallelXML-7.0.lib vtkIOPLY-7.0.lib vtkIOSQL-7.0.lib vtkIOVideo-7.0.lib vtkIOXML-7.0.lib vtkIOXMLParser-7.0.lib vtkjpeg-7.0.lib vtkjsoncpp-7.0.lib vtklibxml2-7.0.lib vtkmetaio-7.0.lib vtkNetCDF-7.0.lib vtkNetCDF_cxx-7.0.lib vtkoggtheora-7.0.lib vtkParallelCore-7.0.lib vtkpng-7.0.lib vtkproj4-7.0.lib vtkRenderingAnnotation-7.0.lib vtkRenderingContext2D-7.0.lib vtkRenderingContextOpenGL2-7.0.lib vtkRenderingCore-7.0.lib vtkRenderingFreeType-7.0.lib vtkRenderingImage-7.0.lib vtkRenderingLabel-7.0.lib vtkRenderingLOD-7.0.lib vtkRenderingOpenGL2-7.0.lib vtkRenderingQt-7.0.lib vtkRenderingVolume-7.0.lib vtkRenderingVolumeOpenGL2-7.0.lib vtksqlite-7.0.lib vtksys-7.0.lib vtktiff-7.0.lib vtkverdict-7.0.lib vtkViewsContext2D-7.0.lib vtkViewsCore-7.0.lib vtkViewsInfovis-7.0.lib vtkViewsQt-7.0.lib vtkzlib-7.0.lib
配置完屬性表之后還需要配置dll。
配置dll有四種方法: 第一種,把dll拷貝到system32里去, 第二種,把dll拷貝到編譯出來(lái)的程序的文件中, 第三種,直接配置到項(xiàng)目中。 本文采用第四種方法,在系統(tǒng)的path中添加dll的路徑。具體方法如下:
首先將打開控制面板\系統(tǒng)和安全\系統(tǒng)->高級(jí)系統(tǒng)設(shè)置->環(huán)境變量
修改path路徑在后面添加下面的文字:
;%PCL_ROOT%\bin
;%PCL_ROOT%\3rdParty\Qhull\bin
;%PCL_ROOT%\3rdParty\FLANN\bin
;%PCL_ROOT%\3rdParty\VTK\bin
;%PCL_ROOT%\3rdParty\OpenNI2\Tools


這樣環(huán)境就配置完成了。
測(cè)試
代碼:
#include <pcl/visualization/cloud_viewer.h>
#include <iostream>
#include <pcl/io/io.h>
#include <pcl/io/pcd_io.h>
#include <iostream>
#include <pcl/filters/filter.h>
int user_data;
void
viewerOneOff(pcl::visualization::PCLVisualizer& viewer)
{
viewer.setBackgroundColor(1.0, 0.5, 1.0);
pcl::PointXYZ o;
o.x = 1.0;
o.y = 0;
o.z = 0;
viewer.addSphere(o, 0.25, "sphere", 0);
std::cout << "i only run once" << std::endl;
}
void
viewerPsycho(pcl::visualization::PCLVisualizer& viewer)
{
static unsigned count = 0;
std::stringstream ss;
ss << "Once per viewer loop: " << count++;
viewer.removeShape("text", 0);
viewer.addText(ss.str(), 200, 300, "text", 0);
//FIXME: possible race condition here:
user_data++;
}
int
main()
{
pcl::PointCloud<pcl::PointXYZRGBA>::Ptr cloud(new pcl::PointCloud<pcl::PointXYZRGBA>);
pcl::io::loadPCDFile("test_cloud.pcd", *cloud);
pcl::visualization::CloudViewer viewer("Cloud Viewer");
//blocks until the cloud is actually rendered
viewer.showCloud(cloud);
//use the following functions to get access to the underlying more advanced/powerful
//PCLVisualizer
//This will only get called once
viewer.runOnVisualizationThreadOnce(viewerOneOff);
//This will get called once per visualization iteration
viewer.runOnVisualizationThread(viewerPsycho);
while (!viewer.wasStopped())
{
std::cout << cloud->width << endl;
std::cout << cloud->height << endl;
//you can also do cool processing here
//FIXME: Note that this is running in a separate thread from viewerPsycho
//and you should guard against race conditions yourself...
user_data++;
}
return 0;
}可能會(huì)缺少test_cloud.pcd,造成沒(méi)有點(diǎn)云顯示,也無(wú)傷大雅。
最終的測(cè)試顯示。

本文在參考一些博客之后,發(fā)覺(jué)都不是很詳細(xì),特此寫下這篇文章以供初學(xué)者更清楚的配置。
到此這篇關(guān)于pcl1.8.0+vs2013環(huán)境配置超詳細(xì)教程的文章就介紹到這了,更多相關(guān)pcl1.8.0 vs2013配置內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
如何用C++制作LeetCode刷題小技巧-錯(cuò)題記錄本
這篇文章主要介紹了如何用C++制作LeetCode刷題小技巧-錯(cuò)題記錄本的方法,需要的朋友可以參考下2021-04-04
C語(yǔ)言?棧與數(shù)組的實(shí)現(xiàn)詳解
棧(stack)又名堆棧,它是一種運(yùn)算受限的線性表。限定僅在表尾進(jìn)行插入和刪除操作的線性表。這一端被稱為棧頂,相對(duì)地,把另一端稱為棧底。向一個(gè)棧插入新元素又稱作進(jìn)棧、入?;驂簵?,它是把新元素放到棧頂元素的上面,使之成為新的棧頂元素2022-04-04
C++面向?qū)ο笳Z(yǔ)言自制多級(jí)菜單功能實(shí)現(xiàn)代碼
菜單類主要負(fù)責(zé)菜單的創(chuàng)建、修改、刪除,是包含菜單結(jié)構(gòu)組織和響應(yīng)函數(shù)的模型,用戶擁有充分的自主性,可根據(jù)需要自定義菜單顯示和響應(yīng)函數(shù),這篇文章主要介紹了C++面向?qū)ο笳Z(yǔ)言自制多級(jí)菜單,需要的朋友可以參考下2024-06-06
C語(yǔ)言使用回溯法解旅行售貨員問(wèn)題與圖的m著色問(wèn)題
回溯法即是在按條件搜索走不通的情況下退回再選擇其他路線的方法,這里我們來(lái)看C語(yǔ)言使用回溯法解旅行售貨員問(wèn)題與圖的m著色問(wèn)題的方法示例:2016-07-07
C++學(xué)習(xí)之算術(shù)運(yùn)算符使用詳解
運(yùn)算符是計(jì)算機(jī)語(yǔ)言提供的能對(duì)數(shù)據(jù)進(jìn)行基本運(yùn)算操作的功能體。而算術(shù)運(yùn)算符用來(lái)對(duì)數(shù)字型數(shù)據(jù)進(jìn)行數(shù)學(xué)語(yǔ)義上的加、減、乘、除。本文通過(guò)講解清楚算術(shù)運(yùn)算符,讓大家了解使用C++運(yùn)算符時(shí)應(yīng)該注意的事項(xiàng)2022-06-06
Qt利用QSortFilterProxyModel代理實(shí)現(xiàn)自定義排序與聯(lián)合過(guò)濾
QsortFilterProxyModel類用來(lái)為model和view之間提供強(qiáng)大的排序和過(guò)濾支持。這篇文章將利用QSortFilterProxyModel代理實(shí)現(xiàn)自定義排序與聯(lián)合過(guò)濾,需要的可以參考一下2022-11-11
C++實(shí)現(xiàn)正態(tài)隨機(jī)分布的方法
本篇介紹了,使用c++實(shí)現(xiàn)正態(tài)隨機(jī)分布的實(shí)現(xiàn)方法。需要的朋友參考下2013-05-05

