jjzjj

libtoolize

全部标签

c++ - 铛 libTooling : How to find which header an AST item came out of?

在网上找到的clang工具示例总是在玩具示例上运行,这些示例通常都是非常简单的C程序。我正在构建一个对C++代码执行源到源转换的工具,这显然是一项非常非常具有挑战性的任务,但clang可以胜任这项任务。我现在面临的问题是,clang为任何使用STL的C++代码生成的AST非常庞大。例如,我有一些C++代码,clang++-ast-dump...|wc-l是67,018行可怕的AST官话!其中99%是标准库的东西,我打算在我的源到源元编程任务中忽略它们。所以,为了实现这一点,我想简单地过滤掉文件。假设我只想查看正在分析的项目header中的类定义(并忽略所有标准库header的内容),我

c++ - 依赖于其他库的库的 Libtool 版本控制

我有一个framework在核心应用程序及其界面中使用Boost和CgiCC。我应该如何对库二进制接口(interface)进行版本控制(又名libtool-version-info)?当我进行各种更改时,跟踪库本身的更改没有问题。作为它我很清楚我应该如何版本。但是……Boost和CgiCC库都不提供任何向后兼容的API/ABI,我的库可能与相当任意版本的Boost和CgiCC链接,所以我不能提供任何关于接口(interface)的promise,所以我不能真正指定-version-info因为即使是针对不同版本的Boost和CgiCC编译的相同库将不兼容。那么……我该怎么办?我应该如

c++ - 使用 libtooling 获取完全限定的模板模板参数名称

我正在尝试使用libtooling打印CXXRecordDecl具有模板模板参数的模板类的实例化。不幸的是,模板模板参数的字符串表示不完全限定(例如,它缺少namespace)。我正在打印CXXRecordDecl使用此代码:clang::PrintingPolicypolicy=compiler_instance->getLangOpts();std::stringname=decl->getTypeForDecl()->getCanonicalTypeInternal().getAsString(policy);这是一个我希望输出为ns::A的示例,但我得到ns::A:namesp

c++ - 即时编译 C++ : clang/libtooling fails to set Triple for LLVM IR

假设我想即时编译一个C++字符串:llvm::LLVMContextcontext;std::unique_ptraction=std::make_unique(&context);clang::tooling::runToolOnCode/*WithArgs*/(action.get(),"intfoo(intx){return++x;}");std::unique_ptrmodule=action->takeModule();不幸的是,当LLVM尝试转换IR时,似乎有一个异常表明Triple未设置(https://clang.llvm.org/docs/CrossCompilati

c++ - automake+libtool+c++ = 非常臃肿的界面

首先我有“include_HEADERS='mypublicheaders'”和“libfoobar_la_SOURCES='privatesources''privateheaders'”。一切都很好。它编译/安装/链接。但是当我做“nm-Cmy_instaed_lib.so”我得到:00005be0Tyyget_debug(void*)00005b00Tyyget_extra(void*)00005bf0Tyyset_debug(int,void*)00005bb0Tyyset_extra(FM4::LexImpl*,void*)00005b40Tyyget_column(void

c++ - libtool:i686-pc-mingw32 共享中不允许使用 undefined symbol

我正在使用autotools作为我的图书馆的构建系统。最近图书馆被移植到Windows。虽然我遇到了一个奇怪的错误,但库编译和链接成功。配置和制作后只有静态库。除了来自libtool的警告外,一切看起来都正常:libtool:undefinedsymbolsnotallowedini686-pc-mingw32shared我已经通过这段代码导出了Windows机器的所有符号:#ifdef_WIN32#ifdefDLL_EXPORT#defineLIBRARY_API__declspec(dllexport)#else#defineLIBRARY_API__declspec(dllimp

编译gcc踩坑记录——libtool: error: ‘/usr/local/lib/libgmp.la‘ is not a valid libtool archive

安装gcc依赖过程中出现错误,解决方法在google找到的。三个依赖如下:libgmplibmpfr依赖libgmplibmpc依赖libgmp、libmpfr直接就无脑(网上很多教程,这里就不赘述了)./configure--prefix=/home/xx/make&&makeinstall然后在libmpc时候就报错了:libtool:error:'/usr/local/lib/libgmp.la'isnotavalidlibtoolarchive解决方法:因为libmpc引用了libmpfr,libmpfr引用了libgmp而libgmp.la这个文件有bug,编译脚本里libtool路

c++ - libtool link - 便利库的全局状态初始化

我的设置不起作用,我不知道我在这里做错了什么-我正在尝试将一个项目从手工制作的Makefile转换为autotools,并且我认为我已经正确设置了大部分项目,因为应用程序及其所有便利库都正确构建和链接,但是全局状态初始化程序存在一些问题便利图书馆。一些库在代码中遵循这样的模式://inglobalscopeofsomemodule.cppnamespace{boolregistered=ModuleShare::registerModule("SomeModule");}这段代码连同实际的模块源代码,使用libtool编译成一个方便的库//libsomethingMakefile.am

c++ - 如何使用 libtool 创建二进制文件和 .so

我有一组cpp文件,我想直接编译成二进制文件,也想编译成共享库。我有bin_PROGRAMS=mybinlib_LTLIBRARIES=libmylib.laCOMMON_SOURCES=f1.cppf2.cppf3.cppmybin_SOURCES=main.cpp$(COMMON_SOURCES)libmylib_la_SOURCES=$(COMMON_SOURCES)当我运行它时,cpp文件被编译两次,一次使用libtool,一次不使用,有时libtool/automake会报错Makefile.am:object`f1.$(OBJEXT)'createdbothwithlibt

windows - 如何在 cygwin 中安装 libtoolize?

当我尝试在cygwin中构建ApacheThrift源代码时,我收到错误提示“找不到libtoolize!”。如何在cygwin中安装libtoolize? 最佳答案 您将需要GNUM41.4.6或更高版本来安装LibTool(包括libtoolize)。好消息是,如果您运行Cygwin安装程序,您可以轻松地做到这一点(不用担心,它会保留您的Cygwin安装并添加新的软件包(如果您选择它们​​)。因此,您需要做的就是单击以下按钮:GNUM4安装LibTool安装 关于windows-如何