首页 > 解决方案 > AzerothCore - “SCRIPTS”变量的值(ON)无效

问题描述

在尝试从 GitHub 拉取/合并更新后,我遇到了一个问题。在过去,我只是按照在 AzerothCore wiki 上保持服务器最新的指示而没有问题,但我最近尝试更新,在尝试运行 CMake 后遇到以下错误:

CMake 版本:3.21.1 选择 Windows SDK 版本 10.0.19041.0 以针对 Windows 10.0.19042。conf/dist/config.cmake:28 处的 CMake 错误(消息):您的 SCRIPTS 变量的值 (ON) 无效!允许的值为:无;静态;动态;最小静态;最小动态。设置静态调用堆栈(最近调用优先):CMakeLists.txt:51(包括)

配置不完整,出现错误!另请参阅“G:/Build/CMakeFiles/CMakeOutput.log”。另请参阅“G:/Build/CMakeFiles/CMakeError.log”。

我认为自从我上次在 GitHub 上进行拉取/合并以来,AC 的工作方式有了重大更新,从错误来看,当它应该是“静态的”时,似乎有一些东西被设置为“开启”。我环顾了一下配置文件,发现了一些标有“CSCRIPTS=${CSCRIPTS:-ON}”的东西,我想也许我可以把“on”改成“static”,但这并没有做任何事情,所以我把它改回了on .

我检查了错误日志,它引用了以下 C1083 错误:

确定包含文件 pthread.h 是否存在失败,输出如下: Change Dir: G:/Build/CMakeFiles/CMakeTmp

运行构建命令:G:/Visual Studio/Community/MSBuild/Current/Bin/MSBuild.exe cmTC_e2a2b.vcxproj /p:Configuration=Debug /p:Platform=x64 /p:VisualStudioVersion=16.0 /v:m &&适用于 .NET Framework 的 Microsoft (R) Build Engine 版本 16.9.0+5e4b48a27

版权所有 (C) 微软公司。版权所有。

Microsoft (R) C/C++ 优化编译器版本 19.28.29914 for x64

版权所有 (C) 微软公司。版权所有。

检查包含文件.c

cl /c /Zi /W1 /WX- /diagnostics:column /Od /Ob0 /D WIN32 /D _WINDOWS /D "CMAKE_INTDIR="Debug"" /D _MBCS /Gm- /RTC1 /MDd /GS /fp:precise / Zc:wchar_t /Zc:forScope /Zc:inline /Fo"cmTC_e2a2b.dir\Debug\" /Fd"cmTC_e2a2b.dir\Debug\vc142.pdb" /Gd /TC /errorReport:queue G:\Build\CMakeFiles\CMakeTmp \CheckIncludeFile.c

G:\Build\CMakeFiles\CMakeTmp\CheckIncludeFile.c(1,10):致命错误 C1083:无法打开包含文件:'pthread.h':没有这样的文件或目录 [G:\Build\CMakeFiles\CMakeTmp\cmTC_e2a2b. vcxproj]

我在 Google 上搜索了有关 pthread.h 的信息,发现了这个线程: https ://docs.microsoft.com/en-us/answers/questions/76739/fatal-error-c1083-cannot-open-include-file -39pthre.html

我非常缺乏经验,所以请原谅我的无知,但是虽然它引用了相同的错误,但我觉得我的问题的答案必须与某个地方标记为脚本的变量有关,但我似乎无法找到它,它似乎该用户的问题来自 Visual Studio 而不是 CMake,所以我不确定建议的运行“vcpkg.exe”的解决方案是否可以解决该问题。

感谢您的宝贵时间,如果我需要添加任何其他信息,请告诉我!

标签: cmakeazerothcore

解决方案


我想到了!我通过转到 G: > AzerothCore > conf > dist > config.cmake 找到了我正在寻找的脚本变量,并将 Scripts and Modules 中的值从“-1”更改为“-static”。

我还将脚本部分下 CMake 中所有“脚本”值的值从默认更改为静态,但这样做本身没有任何作用,所以这可能没有必要,我认为诀窍是直接改变这两个config.cmake 文件中的“1”到“静态”。


推荐阅读