PaddlePaddle / Paddle

PArallel Distributed Deep LEarning: Machine Learning Framework from Industrial Practice (『飞桨』核心框架,深度学习&机器学习高性能单机、分布式训练和跨平台部署)
http://www.paddlepaddle.org/
Apache License 2.0
22.12k stars 5.55k forks source link

windows 11上编译paddle框架出现找不到UINT64_MAX符号 #65202

Open jingsongliujing opened 3 months ago

jingsongliujing commented 3 months ago

bug描述 Describe the Bug

在windows11上编译Paddle框架出现 image 然后我注释了Paddle/cmake/flags.cmake下的这几行代码,即可编译成功 image image

其他补充信息 Additional Supplementary Information

No response

xldistance commented 3 months ago

注释了cmake文件,编译还是失败 [230/3305] Building CXX object paddle\pir\CMakeFiles\pir.dir\src\core\parser\ir_parser.cc.obj FAILED: paddle/pir/CMakeFiles/pir.dir/src/core/parser/ir_parser.cc.obj C:\PROGRA~1\MICROS~1\2022\COMMUN~1\VC\Tools\MSVC\1439~1.335\bin\Hostx64\x64\cl.exe /nologo /TP -DCUDA_TOOLKIT_ROOT_DIR="\"C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v12.1\"" -DCUDA_VERSION_MAJOR=\"12\" -DCUDA_VERSION_MINOR=\"1\" -DCUDNN_MAJOR_VERSION=\"8\" -DEIGEN_STRONG_INLINE=inline -DEIGEN_USE_GPU -DGOOGLE_GLOG_DLL_DECL="" -DIR_LIBRARY -DLAPACK_FOUND -DNOMINMAX -DPADDLE_DISABLE_PROFILER -DPADDLE_DLL_EXPORT -DPADDLE_DLL_INFERENCE -DPADDLE_ON_INFERENCE -DPADDLE_VERSION=0.0.0 -DPADDLE_VERSION_INTEGER=0 -DPADDLE_WITH_AVX -DPADDLE_WITH_CRYPTO -DPADDLE_WITH_CUDA -DPADDLE_WITH_DNNL -DPADDLE_WITH_MKLML -DPADDLE_WITH_POCKETFFT -DPADDLE_WITH_SSE3 -DSTATIC_IR -DTRT_PLUGIN_FP16_AVALIABLE -DUTF8PROC_STATIC -DWIN32_LEAN_AND_MEAN -D_XKEYCHECK_H -IH:\Desktop\Paddle\build -IH:\Desktop\Paddle\paddle\fluid\framework\io -IH:\Desktop\Paddle\build\third_party\install\zlib\include -IH:\Desktop\Paddle\build\third_party\install -IH:\Desktop\Paddle\build\third_party\install\gflags\include -IH:\Desktop\Paddle\build\third_party\install\glog\include -IH:\Desktop\Paddle\third_party\eigen3 -IH:\Desktop\Paddle\third_party\threadpool -IH:\Desktop\Paddle\third_party\dlpack\include -IH:\Desktop\Paddle\build\third_party\install\xxhash\include -IH:\Desktop\Paddle\build\third_party\install\warpctc\include -IH:\Desktop\Paddle\build\third_party\install\warprnnt\include -IH:\Desktop\Paddle\build\third_party\install\utf8proc\include -IH:\Desktop\Paddle\build\third_party\install\mklml\include -IH:\Desktop\Paddle\build\third_party\install\onednn\include -IH:\Desktop\Paddle\build\third_party\install\protobuf\include -IH:\Desktop\Paddle\build\third_party\nlohmann_json\include -IE:\Langchain-Chatchat\glut\include -IE:\Langchain-Chatchat\glut\Lib\site-packages\numpy\core\include -IH:\Desktop\Paddle\build\third_party\pybind\src\extern_pybind\include -IH:\Desktop\Paddle\build\third_party\install\cryptopp\include -IH:\Desktop\Paddle\build\third_party\pocketfft\src -IH:\Desktop\Paddle\build\third_party\dirent\src\extern_dirent\include -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\include" -IH:\Desktop\Paddle -IH:\Desktop\Paddle\build\..\paddle\fluid\framework\io /DWIN32 /D_WINDOWS /W0 /GR /EHsc /w /wd4068 /wd4129 /wd4244 /wd4267 /wd4297 /wd4530 /wd4577 /wd4819 /wd4838 /arch:AVX /MT /O2 /Ob2 /DNDEBUG /bigobj /Zc:inline -std:c++17 /showIncludes /Fopaddle\pir\CMakeFiles\pir.dir\src\core\parser\ir_parser.cc.obj /Fdpaddle\pir\CMakeFiles\pir.dir\pir.pdb /FS -c H:\Desktop\Paddle\paddle\pir\src\core\parser\ir_parser.cc H:\Desktop\Paddle\paddle/pir/include/core/ir_context.h(38): error C2039: "string": 不是 "std" 的 成员 C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519\include\set(22): note: 参见“std”的声明 H:\Desktop\Paddle\paddle/pir/include/core/ir_context.h(38): error C2065: “string”: 未声明的标识符 H:\Desktop\Paddle\paddle/pir/include/core/ir_context.h(38): error C2923: "std::unordered_map": "string" 不是参数 "_Kty" 的有效 模板 类型参数 H:\Desktop\Paddle\paddle/pir/include/core/ir_context.h(38): note: 参见“string”的声明 H:\Desktop\Paddle\paddle/pir/include/core/ir_context.h(38): error C2976: “std::unordered_map'”: 模板 参数太少 C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519\include\unordered_map(66): note: 参见“std::unordered_map”的声明 H:\Desktop\Paddle\paddle/pir/include/core/ir_context.h(123): error C2039: "string": 不是 "std" 的成员 C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519\include\set(22): note: 参见“std”的声明 H:\Desktop\Paddle\paddle/pir/include/core/ir_context.h(123): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int H:\Desktop\Paddle\paddle/pir/include/core/ir_context.h(123): error C2143: 语法错误: 缺少“,”(在“&”的前面) H:\Desktop\Paddle\paddle/pir/include/core/ir_context.h(128): error C2955: “std::unordered_map”: 使用 类 模板 需要 模板 参数列表 C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519\include\unordered_map(66): note: 参见“std::unordered_map”的声明 H:\Desktop\Paddle\paddle/pir/include/core/ir_context.h(157): error C2039: "string": 不是 "std" 的成员 C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519\include\set(22): note: 参见“std”的声明 H:\Desktop\Paddle\paddle/pir/include/core/ir_context.h(157): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int H:\Desktop\Paddle\paddle/pir/include/core/ir_context.h(157): error C2143: 语法错误: 缺少“,”(在“&”的前面) H:\Desktop\Paddle\paddle/pir/include/core/ir_context.h(174): error C2039: "string": 不是 "std" 的成员 C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.39.33519\include\set(22): note: 参见“std”的声明 H:\Desktop\Paddle\paddle/pir/include/core/ir_context.h(174): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int H:\Desktop\Paddle\paddle/pir/include/core/ir_context.h(174): error C2143: 语法错误: 缺少“,”(在“&”的前面) H:\Desktop\Paddle\paddle\pir\src\core\parser\ir_parser.cc(116): error C2664: “pir::Dialect *pir::IrContext::GetRegisteredDialect(const int)”: 无法将参数 1 从“std::basic_string<char,std::char_traits<char>,std::allocator<char>>”转换为“const int” H:\Desktop\Paddle\paddle\pir\src\core\parser\ir_parser.cc(116): note: 没有可用于执行该转换的用户 定义的转换运算符,或者无法调用该运算符 H:\Desktop\Paddle\paddle/pir/include/core/ir_context.h(174): note: 参见“pir::IrContext::GetRegisteredDialect”的声明 H:\Desktop\Paddle\paddle/pir/include/core/ir_context.h(183): note: 可能是“T *pir::IrContext::GetRegisteredDialect(void)” H:\Desktop\Paddle\paddle\pir\src\core\parser\ir_parser.cc(116): note: “T *pir::IrContext::GetRegisteredDialect(void)”: 应输入 0 个参数,却提供了 1 个 H:\Desktop\Paddle\paddle\pir\src\core\parser\ir_parser.cc(116): note: 尝试匹配参数列表“(std::basic_string<char,std::char_traits<char>,std::allocator<char>>)”时 H:\Desktop\Paddle\paddle\pir\src\core\parser\ir_parser.cc(181): error C2664: “pir::Dialect *pir::IrContext::GetRegisteredDialect(const int)”: 无法将参数 1 从“std::basic_string<char,std::char_traits<char>,std::allocator<char>>”转换为“const int” H:\Desktop\Paddle\paddle\pir\src\core\parser\ir_parser.cc(181): note: 没有可用于执行该转换的用户 定义的转换运算符,或者无法调用该运算符 H:\Desktop\Paddle\paddle/pir/include/core/ir_context.h(174): note: 参见“pir::IrContext::GetRegisteredDialect”的声明 H:\Desktop\Paddle\paddle/pir/include/core/ir_context.h(183): note: 可能是“T *pir::IrContext::GetRegisteredDialect(void)” H:\Desktop\Paddle\paddle\pir\src\core\parser\ir_parser.cc(181): note: “T *pir::IrContext::GetRegisteredDialect(void)”: 应输入 0 个参数,却提供了 1 个 H:\Desktop\Paddle\paddle\pir\src\core\parser\ir_parser.cc(181): note: 尝试匹配参数列表“(std::basic_string<char,std::char_traits<char>,std::allocator<char>>)”时 H:\Desktop\Paddle\paddle\pir\src\core\parser\ir_parser.cc(272): error C2664: “pir::OpInfo pir::IrContext::GetRegisteredOpInfo(const int)”: 无法将参数 1 从“std::string”转换为“const int” H:\Desktop\Paddle\paddle\pir\src\core\parser\ir_parser.cc(272): note: 没有可用于执行该转换的用户 定义的转换运算符,或者无法调用该运算符 H:\Desktop\Paddle\paddle/pir/include/core/ir_context.h(123): note: 参见“pir::IrContext::GetRegisteredOpInfo”的声明 H:\Desktop\Paddle\paddle\pir\src\core\parser\ir_parser.cc(272): note: 尝试匹配参数列表“(std::string)”时 [255/3305] Building CXX object paddle\pir\CMake...shape\transforms\shape_optimization_pass.cc.ob ninja: build stopped: subcommand failed.

xuxinyi389 commented 3 months ago

看报错内容是很多基础的C、C++库文件找不到,你可以检查下你的基础编译环境。推荐是使用VS2019进行编译