Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/163.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我可以从automake/autoconf中提取libtool配置以单独使用吗? 我有一个简单的C++库,它使用一个简短的AutoCKF、AutoAKE和LIKoToT来构建一个共享库对象。_C++_Autoconf_Automake_Libtool - Fatal编程技术网

我可以从automake/autoconf中提取libtool配置以单独使用吗? 我有一个简单的C++库,它使用一个简短的AutoCKF、AutoAKE和LIKoToT来构建一个共享库对象。

我可以从automake/autoconf中提取libtool配置以单独使用吗? 我有一个简单的C++库,它使用一个简短的AutoCKF、AutoAKE和LIKoToT来构建一个共享库对象。,c++,autoconf,automake,libtool,C++,Autoconf,Automake,Libtool,现在,我希望能够通过以下方式在程序运行时动态编译新代码: 将代码输出到临时文件(比如/tmp/code.cc) 编译到库中 将code.so动态加载到我的代码中 我想找到执行此操作所需的命令。我可以看到运行“make-n”所使用的命令,但我真的不想尝试使用awk来搜索和替换这些命令的位 此问题可分解为以下子问题: > p>确定编译程序本身(编译器和/或标志不应该混合,特别是在C++语言中)。 您可以通过使用configure.ac中的autoconf宏将CC、cxlags、cxlags和

现在,我希望能够通过以下方式在程序运行时动态编译新代码:

  • 将代码输出到临时文件(比如/tmp/code.cc)
  • 编译到库中
  • 将code.so动态加载到我的代码中

我想找到执行此操作所需的命令。我可以看到运行“make-n”所使用的命令,但我真的不想尝试使用awk来搜索和替换这些命令的位

此问题可分解为以下子问题:

    > p>确定编译程序本身(编译器和/或标志不应该混合,特别是在C++语言中)。 您可以通过使用
    configure.ac
    中的
    autoconf
    宏将
    CC
    cxlags
    cxlags
    cppfagas
    导出到
    config.h
    文件来完成此操作。或者您可以使用
    AC_SUBST
    和自定义
    header.h.in
    将这些变量存储在您选择的文件中

  • 然后调用编译器
    CC
    给他
    CPPFLAGS
    CFLAGS
    CXX
    ,使用
    CPPFLAGS
    cxflags
    。但是,如果您想通过程序加载这些文件,可以考虑使用LabTooCub库,它以跨平台的方式实现插件程序。

  • >p>您可以考虑使用<代码> LbTooe[/Cord>Script ]作为跨平台编译包装器,但您将不得不使用它,因为它在某种程度上是晦涩难懂的——有编译、链接和“安装”阶段,但它们都是跨平台的方式处理的,如果您通过了<代码> -Syry参数,则需要一些附加标志。(
    -fPIC
    和其他可能)将自动传递


你的回答让我相信这个问题已经够难的了,我将用另一种方式来解决这个问题——但我相信,如果其他人有足够的勇气这样做,你的回答是正确的!