链接clang库总是未定义的符号
linking clang lib allways undefined symbol
我已经创建了一些类,我想用swig来生成ruby绑定。当我生成代码或编译ruby模块时,一切都没问题。但是当脚本加载这个模块时,会出现一个错误:
undefined symbol: _ZTVN5clang5LexerE
我理解这意味着clang::Lexer出现了问题。但我知道我有为此设置lclangLex库。
下面是我用来链接object文件的命令:clang++ -shared -o parser.so parser.o Declarations.o -L. -L/usr/lib -L. -Wl,-O1,
--sort-common,--as-needed,-z,relro -fstack-protector -rdynamic -Wl,-export-dynamic
-L/usr/lib -lz -lpthread -lffi -lcurses -ldl -lm -lruby -lclangLex -lclangAST
-lpthread -lgmp -ldl -lcrypt -lm -lc -lLLVMCppBackendCodeGen -lLLVMCppBackendInfo
-lLLVMTarget -lLLVMCore -lLLVMMC -lLLVMObject -lLLVMSupport
你知道吗?
问题是给链接器的库的顺序:
-lclangAST -lclangLex -lclangBasic
lclangAST必须在lclangLex之前给出,然后我只需要添加lclangBasic和一切工作。
相关文章:
- vscode g++链路故障:体系结构x86_64的未定义符号
- 体系结构x86_64的未定义符号:std:terminate(),typeinfo,运算符delete[],运算符new
- C++ 中 dlsym 的未定义符号
- 仅在 MacOS 上析构函数的未定义符号
- OSX clang++:用于 cpp 文件中显式实例化模板的体系结构x86_64的未定义符号
- PCL 出错:体系结构x86_64 @pcl的未定义符号
- clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用) - 体系结构的未定义符号 x86_64:
- 体系结构x86_64的未定义符号:链接器错误
- C++ std::vector<int> 体系结构的未定义符号 x86_64:
- 生成文件:体系结构x86_64的未定义符号
- libc++abi未定义符号:_ZTVN10__cxxabif120__si-class_type_infoE
- Xcode"体系结构x86_64的未定义符号"
- 体系结构x86_64的未定义符号:找不到原因
- SWIG链接器:未定义符号:_ZN2cv8fastFreeEPv(cv::fastFree(void*))
- 如何修复架构x86_64的未定义符号,Boost Asio 1.58
- 在Qt5上去静态库:架构的未定义符号x86_64:
- 体系结构x86_64的未定义符号:c++/ h 文件和 cpp 文件
- 监视 SDK 下的未定义符号"__Unwind_SjLj_Unregister"
- 使用 Boost/Python 的未定义符号 - 复杂
- 建筑x86_64的未定义符号:"vtkDebugLeaksManager::vtkDebugLeaksManager()",引用自: