{"id":22015593,"url":"https://github.com/originq/qpanda-example","last_synced_at":"2025-05-07T01:04:02.679Z","repository":{"id":48667607,"uuid":"211067821","full_name":"OriginQ/QPanda-Example","owner":"OriginQ","description":null,"archived":false,"fork":false,"pushed_at":"2021-07-15T03:56:45.000Z","size":256401,"stargazers_count":8,"open_issues_count":0,"forks_count":5,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-07T01:03:05.641Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OriginQ.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-09-26T10:57:27.000Z","updated_at":"2025-03-28T23:04:31.000Z","dependencies_parsed_at":"2022-09-07T06:13:49.536Z","dependency_job_id":null,"html_url":"https://github.com/OriginQ/QPanda-Example","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OriginQ%2FQPanda-Example","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OriginQ%2FQPanda-Example/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OriginQ%2FQPanda-Example/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OriginQ%2FQPanda-Example/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OriginQ","download_url":"https://codeload.github.com/OriginQ/QPanda-Example/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252793665,"owners_count":21805057,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-30T04:26:33.476Z","updated_at":"2025-05-07T01:04:02.600Z","avatar_url":"https://github.com/OriginQ.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# QPanda-Example\nQPanda-Example是QPanda的示例库，为用户提供了多种QPanda的使用示例。\n\n# 使用教程\n\n## visual studio 2017\n\nvisual studio 2017 下链接QPanda库需要配置QPanda的头文件地址和QPanda库的地址，下面以GateTypeValidator项目为例：\n\n1. 选择中GateTypeValidator项目,右键选中属性。\n\n![avatar](./img/Properties.png)\n\n2. 设置附加包含目录，选中C/C++ -\u003e 所有选项 -\u003e 附加包含目录，设置两个路径${QPanda的安装路径}/include/qpanda2;${QPanda的安装路径}/include/qpanda2/ThirdParty\n\n![avatar](./img/IncludePath.png)\n\n如果使用的QPanda2库是包含GPU计算部分的时候还需要添加cuda头文件的安装路径，设置的路径为：${QPanda的安装路径}/include/qpanda2;${QPanda的安装路径}/include/qpanda2/ThirdParty;${CUDA库的路径}/include\n\n![avatar](./img/CudaIncludePath.png)\n\n3. 设置运行库, 选中C/C++ -\u003e 所有选项 -\u003e 运行库，设置为MT\n\n![avatar](./img/MT.png)\n\n4. 设置库目录 ,选中VC++目录 -\u003e 库目录，只需要设置lib路径${QPanda的安装路径}/lib\n\n![avatar](./img/LibPath.png)\n\n如果使用的QPanda2库是包含GPU计算部分的时候还需要添加cuda库的安装路径，设置的路径为：${QPanda的安装路径}/include/qpanda2;${QPanda的安装路径}/include/qpanda2/ThirdParty;${CUDA库的路径}/lib/x64\n\n![avatar](./img/CudaLibPath.png)\n\n如果安装的是包含GPU计算方式的库需要设置lib路径${QPanda的安装路径}/lib;{CUDA库的路径}/lib/x64\n\n5. 设置附加依赖项,选中链接器 -\u003e 输入 -\u003e 附加依赖项，设置以下依赖库：antlr4.lib;Components.lib;QAlg.lib;QPanda2.lib\n\n![avatar](./img/LoadLibs.png)\n\n包含GPU计算方式还需要添加下面两个库：\nGPUQGates.lib;cudart.lib\n\n![avatar](./img/CudaLoadLibs.png)\n\n6. 设置符合模式，选中C/C++- \u003e 语言 -\u003e 符合模式，设置为否\n\n![avatar](./img/LanguageModel.png)\n\n在设置visual studio 2017项目属性时，一定要注意配置管理器中的Release和Debug、及x64要与项目所选的相同（QPanda2不支持x86平台）。\n\n![avatar](./img/ConfigurationManager.png)\n\n## MinGW\n\n```\ng++ test.cpp -std=c++14 -fopenmp -I{QPanda安装路径}/include/qpanda2/ -I{QPanda安装路径}/include/qpanda2/ThirdParty/ -L{QPanda安装路径}/lib/ -lQPanda2 -lantlr4 -o test\n\n```\n\n## Linux\n\n不含CUDA的编译指令\n\n```\ng++ test.cpp -std=c++14 -fopenmp -I{QPanda安装路径}/include/qpanda2/ -I{QPanda安装路径}/include/qpanda2/ThirdParty/ -L{QPanda安装路径}/lib/ -lQPanda2 -lComponents -lantlr4 -o test\n```\n\n含有CUDA的编译指令\n\n```\ng++ test.cpp -std=c++14 -fopenmp -I{QPanda安装路径}/include/qpanda2/ -I{QPanda安装路径}/include/qpanda2/ThirdParty/ -L{QPanda安装路径}/lib/ -lQPanda2 -lComponents -lantlr4 -lGPUQGates -L{CUDA安装路径}/lib/  -lcudart -o test\n```\n\n## MacOS\n\n```\nclang++ test.cpp -std=c++14 -fopenmp -I{QPanda安装路径}/include/qpanda2/ -I{QPanda安装路径}/include/qpanda2/ThirdParty/ -L{QPanda安装路径}/lib/ -lQPanda2 -lComponents -lantlr4 -o test\n```\n\n含有CUDA的编译指令\n\n```\nclang++ test.cpp -std=c++14 -fopenmp -I{QPanda安装路径}/include/qpanda2/ -I{QPanda安装路径}/include/qpanda2/ThirdParty/ -L{QPanda安装路径}/lib/ -lQPanda2 -lComponents -lantlr4 -lGPUQGates -L{CUDA安装路径}/lib/  -lcudart -o test\n```\n\n# 使用CMake的方式调用QPanda2库\n\n## Virsual Studio \n\n由于VS的版本比较多，不同的版本使用CMake会有一些差距，这里就以Virsual Studio 2017为例\n\n首先打开VS，选中 文件-\u003e打开-\u003eCMake\n\n![avatar](./img/vs_cmake.png)\n\n然后选择QPanda-example文件夹中的示例下的CMakeLists.txt点击，就会打开一个示例\n\n![avatar](./img/CMakelist.png)\n\n再选择CMakeSetting.json文件，修改-DQPANDA_INSTALL_DIR={QPanda2安装目录}\n\n![avatar](./img/cmake_setting.png)\n\n修改后，ctrl+s，选择CMAKE-\u003e全部生成\n\n![avatar](./img/cmake_build_all.png)\n\n点击图中的下拉小箭头，选择可执行程序\n\n![avatar](./img/cmake_exec.png)\n\n上面介绍了使用cmake打开我们构建好的工程，有兴趣的也可以深入的学习使用cmake构建项目。\n\n## MinGW\n\nMinGW链接QPanda库，可以使用CMake工具，下面以GateTypeValidator项目为例，使用命令如下：\n\n```\ncd GateTypeValidator\nmkdir -p build\ncd build\ncmake -G\"MinGW Makefiles\" -DQPANDA_INSTALL_DIR=C:/QPanda2/ .. # C:/QPanda2/ 是笔者的安装QPanda的路径\nmingw32-make\n```\n\n## Linux、macOS\n\nLinux、macOS链接QPanda库，可以使用CMake工具，下面以GateTypeValidator项目为例，使用命令如下：\n\n```\ncd GateTypeValidator\nmkdir -p build\ncd build\ncmake -DQPANDA_INSTALL_DIR=/usr/local/ .. #/usr/local/ 是笔者的安装QPanda的路径\nmake\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foriginq%2Fqpanda-example","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foriginq%2Fqpanda-example","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foriginq%2Fqpanda-example/lists"}