准备条件:
使用管理员身份打开cmd
1.切换路径
cd /d D:
2.设置全局代理
git config --global http.proxy http://127.0.0.1:10809
git config --global https.proxy http://127.0.0.1:10809
3.安装vcpkg
git clone https://github.com/microsoft/vcpkg
.\vcpkg\bootstrap-vcpkg.bat
4.搜索numcpp库
.\vcpkg\vcpkg search numcpp
5.安装numcpp与opencv4库(编译并安装x64版本)
.\vcpkg\vcpkg install numcpp:x64-windows
.\vcpkg\vcpkg install boost-filesystem:x64-windows
.\vcpkg\vcpkg install opencv4[contrib,world]:x64-windows --debug
6.若您希望在 Visual Studio 中使用vcpkg,请运行以下命令 (可能需要管理员权限)
.\vcpkg\vcpkg integrate install
测试
#include <NumCpp.hpp>
#include <boost/filesystem.hpp>
#include<iostream>
using namespace std;
int main()
{
// 简单示例
int a = 10;
// 生成2×2的int类型矩阵(NdArray)
nc::NdArray<int> a0 = { {1, 2}, {3, 4} };
// 生成3×2的int类型矩阵(NdArray)
nc::NdArray<int> a1 = { {1, 2}, {3, 4}, {5, 6} };
cout << "查看a数据类型:\n" << typeid(a).name() << endl;
cout << "查看a0数据类型:\n" << typeid(a0).name() << endl;
cout << "a0:\n" << a0 << endl;
cout << "a1:\n" << a1 << endl;
a1.reshape(2, 3);
cout << "改变a1形状(2×3):\n" << a1 << endl;
auto a2 = a1.astype<double>();
cout << "int类型转换duoble类型:\n" << typeid(a2).name() << endl;
cout << "a2:\n" << a1 << endl;
return 0;
}
结果:
查看a数据类型:
int
查看a0数据类型:
class nc::NdArray<int,class std::allocator<int> >
a0:
[[1, 2, ]
[3, 4, ]]
a1:
[[1, 2, ]
[3, 4, ]
[5, 6, ]]
改变a1形状(2×3):
[[1, 2, 3, ]
[4, 5, 6, ]]
int类型转换duoble类型:
class nc::NdArray<double,class std::allocator<double> >
a2:
[[1, 2, 3, ]
[4, 5, 6, ]]
vcpkg 包管理器在 GitHub 上定期更新。 若要将 vcpkg 的克隆更新到最新版本,请从 vcpkg 根目录运行 git pull
。 此命令会将 vcpkg 的副本与 GitHub 上的版本同步。 下载完成后,再次运行引导程序。 引导程序会重新生成 vcpkg 程序,但保留已安装的库。
若要卸载 vcpkg,只需删除 vcpkg 目录。 删除此目录会卸载 vcpkg 分发以及 vcpkg 已安装的所有库。
但是,如果已执行 vcpkg integrate install
,则应执行 vcpkg integrate remove
来确保在删除文件夹之前已清理集成 。
Command | 描述 |
---|---|
vcpkg search [pat] | 搜索可安装的包 |
vcpkg install <pkg>… | 安装包 |
vcpkg remove <pkg>… | 卸载包 |
vcpkg remove --outdated | 卸载所有过期包 |
vcpkg list | 列出已安装的包 |
vcpkg update | 显示用于更新的包列表 |
vcpkg upgrade | 重新生成所有过期包 |
vcpkg hash <file> [alg] | 通过特定算法对文件执行哈希操作,默认为 SHA512 |
vcpkg integrate install | 使已安装包在用户范围内可用。 首次使用时需要管理权限 |
vcpkg integrate remove | 删除用户范围的集成 |
vcpkg integrate project | 为使用单个 VS 项目生成引用 NuGet 包 |
vcpkg export <pkg>… [opt]… | 导出包 |
vcpkg edit <pkg> | 打开端口进行编辑(使用 %EDITOR%,默认为“code”) |
vcpkg create <pkg> <url> [archivename] | 创建新程序包 |
vcpkg cache | 列出缓存的已编译包 |
vcpkg version | 显示版本信息 |
vcpkg contact --survey | 显示联系信息,以便发送反馈。 |
vcpkg help triplet | 查看支持什么平台 |
在 shell 或“终端”窗口中,将目录更改为 vcpkg 根目录。 然后运行./vcpkg integrate install
,在 Linux 或 macOS 上配置 Visual Studio Code。 此命令将设置 vcpkg 工具和库的位置,并对源文件启用 IntelliSense。
如果已使用 integrate 选项,则应在删除 vcpkg 实例之前删除该集成。 若要删除和清理该集成,请将目录更改为 vcpkg 根目录。
在 Windows 上,运行vcpkg integrate remove
,确保清除该集成。
在 Linux 或 macOS 上,运行./vcpkg integrate remove
命令。
参考网站:
vcpkg/README_zh_CN.md at master · microsoft/vcpkg (github.com)