如何优化和解决问题
步骤 1: 以管理员权限打开 Windows PowerShell
- 导航到
C:\Windows\System32\WindowsPowerShell\v1.0
目录。 - 右键点击
powershell.exe
并选择“以管理员身份运行”。 - 执行以下命令,设置执行策略为不受限制:
set-executionpolicy -executionpolicy unrestricted
- 当提示是否更改执行策略时,选择
Y
并回车。
步骤 2: 运行 generate.ps1
脚本
- 确保在
/3rd_party/flatbuffers/tmp
目录下有flatc.exe
文件。可以从 GitHub FlatBuffers Releases 下载。 - 切换到项目的根目录,并进入 PowerShell 环境:
cd /path/to/MNN powershell
- 运行生成脚本:
./schema/generate.ps1
步骤 3: 修改系统语言设置
- 打开“设置” -> “时间和语言” -> “区域和语言”。
- 点击“管理”选项卡,然后在“非 Unicode 程序的语言”部分选择“更改系统区域设置”。
- 将系统区域设置更改为“英语(美国)”,并应用更改。
- 重新启动计算机。
步骤 4: 执行编译命令
重新启动后,按照以下步骤进行编译:
-
CPU 64 位编译:
.\package_scripts\win\build_lib.ps1 -path MNN-CPU/lib/x64
-
CPU 32 位编译:
.\package_scripts\win\build_lib.ps1 -path MNN-CPU/lib/x86
-
CPU+OpenCL+Vulkan 64 位编译:
.\package_scripts\win\build_lib.ps1 -path MNN-CPU-OPENCL/lib/x64 -backends "opencl,vulkan"
-
CPU+OpenCL+Vulkan 32 位编译:
.\package_scripts\win\build_lib.ps1 -path MNN-CPU-OPENCL/lib/x86 -backends "opencl,vulkan"
如上面编译存在问题,管理员身份打开Visual Studio
cd /path/to/MNN
mkdir build && cd build
cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release ..
nmake
步骤 5: 验证编译结果
- 编译完成后,在
Build
目录下应能看到MNN.dll
和MNN.lib
文件。 - 头文件位于 MNN 项目根目录的
include
文件夹中。 - 可以开始配置和验证你的环境。
注意事项
- 确保在进行任何操作前备份重要文件。
- 确保下载的
flatc.exe
是最新版本,并放置在正确的目录。 - 修改系统区域设置后可能会影响其他应用程序的运行,需要时刻注意系统的运行状态。