m1 pro build PiccoloParser 时报链接错误
Describe the bug | Bug描述
在构建PiccoloParser时会报错
日志
[main] Building folder: Piccolo PiccoloParser
[build] Starting build
[proc] Executing command: /opt/homebrew/bin/cmake --build /Users/bole/Desktop/Piccolo/build --config Debug --target PiccoloParser -j 10 --
[build] [ 0%] Linking CXX executable ../../../../engine/bin/PiccoloParser
[build] ld: warning: ignoring file ../../../../engine/source/meta_parser/3rd_party/LLVM/bin/macOS/libclang.dylib, building for macOS-arm64 but attempting to link with file built for macOS-x86_64
[build] Undefined symbols for architecture arm64:
[build] "_clang_Cursor_getSpellingNameRange", referenced from:
[build] Cursor::getSourceFile() const in cursor.cpp.o
[build] "_clang_createIndex", referenced from:
[build] MetaParser::parse() in parser.cpp.o
[build] "_clang_createTranslationUnitFromSourceFile", referenced from:
[build] MetaParser::parse() in parser.cpp.o
[build] "_clang_disposeIndex", referenced from:
[build] MetaParser::~MetaParser() in parser.cpp.o
[build] "_clang_disposeString", referenced from:
[build] Utils::toString(CXString const&, std::__1::basic_string<char, std::__1::char_traits
Desktop | 桌面环境
Model Identifier: MacBookPro18,3 Chip: Apple M1 Pro Total Number of Cores: 8 (6 performance and 2 efficiency) Memory: 16 GB System Firmware Version: 7459.121.3 OS Loader Version: 7459.121.3 Compiler: Clang 13.1.6 arm64-apple-darwin21.5.0
我也遇到了同样的问题,,,大佬解决了吗?
Describe the bug | Bug描述
在构建PiccoloParser时会报错
日志
[main] Building folder: Piccolo PiccoloParser [build] Starting build [proc] Executing command: /opt/homebrew/bin/cmake --build /Users/bole/Desktop/Piccolo/build --config Debug --target PiccoloParser -j 10 -- [build] [ 0%] Linking CXX executable ../../../../engine/bin/PiccoloParser [build] ld: warning: ignoring file ../../../../engine/source/meta_parser/3rd_party/LLVM/bin/macOS/libclang.dylib, building for macOS-arm64 but attempting to link with file built for macOS-x86_64 [build] Undefined symbols for architecture arm64: [build] "_clang_Cursor_getSpellingNameRange", referenced from: [build] Cursor::getSourceFile() const in cursor.cpp.o [build] "_clang_createIndex", referenced from: [build] MetaParser::parse() in parser.cpp.o [build] "_clang_createTranslationUnitFromSourceFile", referenced from: [build] MetaParser::parse() in parser.cpp.o [build] "_clang_disposeIndex", referenced from: [build] MetaParser::~MetaParser() in parser.cpp.o [build] "_clang_disposeString", referenced from: [build] Utils::toString(CXString const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator >&) in meta_utils.cpp.o [build] "_clang_disposeTranslationUnit", referenced from: [build] MetaParser::~MetaParser() in parser.cpp.o [build] "_clang_getArgType", referenced from: [build] CursorType::GetArgument(unsigned int) const in cursor_type.cpp.o [build] "_clang_getCString", referenced from: [build] Utils::toString(CXString const&, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator >&) in meta_utils.cpp.o [build] "_clang_getCanonicalType", referenced from: [build] CursorType::GetCanonicalType() const in cursor_type.cpp.o [build] "_clang_getCursorDisplayName", referenced from: [build] Cursor::getDisplayName() const in cursor.cpp.o [build] "_clang_getCursorSpelling", referenced from: [build] Cursor::getSpelling() const in cursor.cpp.o [build] "_clang_getCursorType", referenced from: [build] Cursor::getType() const in cursor.cpp.o [build] "_clang_getFileLocation", referenced from: [build] Cursor::getSourceFile() const in cursor.cpp.o [build] "_clang_getFileName", referenced from: [build] Cursor::getSourceFile() const in cursor.cpp.o [build] "_clang_getNumArgTypes", referenced from: [build] CursorType::GetArgumentCount() const in cursor_type.cpp.o [build] "_clang_getRangeStart", referenced from: [build] Cursor::getSourceFile() const in cursor.cpp.o [build] "_clang_getTranslationUnitCursor", referenced from: [build] MetaParser::parse() in parser.cpp.o [build] "_clang_getTypeDeclaration", referenced from: [build] CursorType::GetDeclaration() const in cursor_type.cpp.o [build] "_clang_getTypeSpelling", referenced from: [build] CursorType::GetDisplayName() const in cursor_type.cpp.o [build] "_clang_isConstQualifiedType", referenced from: [build] CursorType::IsConst() const in cursor_type.cpp.o [build] "clang_isCursorDefinition", referenced from: [build] Cursor::isDefinition() const in cursor.cpp.o [build] "clang_visitChildren", referenced from: [build] Cursor::getChildren() const in cursor.cpp.o [build] Cursor::visitChildren(CXChildVisitResult ()(CXCursor, CXCursor, void), void*) in cursor.cpp.o [build] ld: symbol(s) not found for architecture arm64 [build] clang: error: linker command failed with exit code 1 (use -v to see invocation) [build] make[3]: *** [../engine/bin/PiccoloParser] Error 1 [build] make[2]: *** [engine/source/meta_parser/CMakeFiles/PiccoloParser.dir/all] Error 2 [build] make[1]: *** [engine/source/meta_parser/CMakeFiles/PiccoloParser.dir/rule] Error 2 [build] make: *** [PiccoloParser] Error 2 [build] Build finished with exit code 2
Desktop | 桌面环境
Model Identifier: MacBookPro18,3 Chip: Apple M1 Pro Total Number of Cores: 8 (6 performance and 2 efficiency) Memory: 16 GB System Firmware Version: 7459.121.3 OS Loader Version: 7459.121.3 Compiler: Clang 13.1.6 arm64-apple-darwin21.5.0
第一步的cmake加上 -DCMAKE_OSX_ARCHITECTURES=x86_64 ,生成amd64的项目。后面在xcode中编译有些 warning (我的mac os还是11.3,但editor是跑起来了。macbook pro m1 2020 13寸
这个可以编译出arm64的库来替换吗 不太清楚这个是从哪个编译的
我也有相同的问题
这个可以编译出arm64的库来替换吗 不太清楚这个是从哪个编译的
不用x86_64的情况下,找到自己机器上的libclang.dylib文件,替换掉 Piccolo/engine/source/meta_parser/3rd_party/LLVM/bin/macOS/ 下的x86_64文件,居然编译过了,editor也能跑,在活动监视器里看是个 "Apple"进程。
下面的命令可以找到libclang.dylib
mdfind -name libclang.dylib
https://github.com/BoomingTech/Piccolo/pull/326 fixed this problem. Pending on merge.