问题是什么?
我一直在尝试按照 development 的指南搭建一个 Windows 开发环境。我尝试安装了 MinGW-w64 和 MSYS2,以及最新的 Visual Studio 构建工具,但是现有的 Windows 构建脚本似乎无法直接使用。我尝试过交换路径、移动实际使用的 cmake,通过环境变量设置默认生成器,还有更多方法。
运行 go generate ./...
时,会出现以下某种变体的错误:
Building LCD CPU
generating config with: cmake -S ../llama.cpp -B ../build/windows/amd64/cpu -DCMAKE_POSITION_INDEPENDENT_CODE=on -A x64 -DLLAMA_AVX=off -DLLAMA_AVX2=off -DLLAMA_AVX512=off -DLLAMA_FMA=off -DLLAMA_F16C=off -DBUILD_SHARED_LIBS=on -DLLAMA_NATIVE=off -DLLAMA_SERVER_VERBOSE=off -DCMAKE_BUILD_TYPE=Release
cmake version 3.28.3-msvc11
CMake suite maintained and supported by Kitware (kitware.com/cmake).
CMake Error at CMakeLists.txt:2 (project):
Generator
Ninja
does not support platform specification, but platform
x64
was specified.
CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
-- Configuring incomplete, errors occurred!
llm\generate\generate_windows.go:3: running "powershell": exit status 1
问题的关键在于默认生成器(ninja)。它不接受 Visual Studio 生成器的 -A
参数。
1条答案
按热度按时间qlckcl4x1#
我设法通过稍微更新一下$x^{1}_{m0n1x}$脚本解决了这个问题。我在编译CPU时更新了该脚本,以检查cmake是否为所有已安装的生成器。然后,它会选择找到的最新版本的Visual Studio(如果有),并将其作为生成器传递给cmake命令以进行这些操作。