static-linking相关内容
我的共享对象A.so其中静态链接到libssl.a&安培;另一个共享对象B.so也静态链接libssl.a。 &A.so放大器; B.so拥有在全球范围内libssl.a符号。我被选中此readelf -s A.so 我有它加载A.so和B.so.一个可执行的a.out当a.out的结束,我收到了 双无差错,从libssl.a在A.so的象征之一。 即使libssl.a静态链接到每个共享对
..
考虑这个code: one.c: 的#include<&stdio.h中GT;诠释酮(){ 的printf(“一\\ n!”); 返回1; } two.c:的#include<&stdio.h中GT;诠释两(){ 的printf(“两\\ n!”); 返回2; } prog.c中的#include<&stdio.h中GT;诠释酮(); 诠释
..
我部署与海湾合作委员会,4.3.2-1.1(Debian的)编译的小程序。这项计划将部署在虚拟机模板,从5的Debain到尖端的Fedora,Ubuntu的,Slackware的,凯旋门等。 程序依赖于从Xen的库这是只在一个不稳定的树可用的一些符号。因此,在虚拟机模板安装通过各自的包管理器Xen的图书馆解决不了我的眼前问题。 直到我打包我自己的这些库的版本,我需要静态链接可执行文件。 请问
..
我在我的Linux机器上C和GNU编译器应用程序中使用libcurl的。 应用程序还使用OpenSSL库和其他一些库。我想静态链接库,除了 lcurl 与其他库链接正常工作。 我想下面编译。 GCC -static -I。 -o测试test.c的-lz -lssl -lcrypto -lcurl 难道我做错了什么? 有没有办法来迫使一些librairies的静态链接(libc中的为例)
..
在我看来,像一个没有脑子,但我找不到反对或它的任何信息。 从视图demangling等来看,我不认为这是一个大问题,但我想不通,我怎么能写它要求从一点微小的C中的函数一一点微小的C程序++库。 我在Linux上,现在,想用静态绑定。 这一定有什么事情很多人都遇到了或很多书涵盖的,但我觉得自己像一个盲人阿甘坐在这个面前的难题。有趣的是,对SO要么没有这样的问题。 我甚至不知道这是否可以正常工
..
所有 我要链接这就要求“的malloc()”函数库。 然而,我的目标环境是不同的一个, malloc()函数是作为内联函数。 我怎样才能使图书馆的号召,直接向MALLOC 我的目标环境中的malloc()函数? 难道没有办法更改导出函数的名字吗?如果是这样 我可以code my_malloc()首先并将其导出为malloc()和链接 图书馆一句: 的#include< my
..
我在Windows上的C程序我的MinGW 编译。它工作正常,但需要 MSVCRT.DLL 。我想静态链接(比如我可以在Visual Studio中做的)。这可能吗? 我试过 -static 标志 GCC ,并没有做出任何改变。还使用标准的C ++库 怎么样的C ++程序? 解决方案 我相信MinGW的不使用静态运行时库因版权原因。 您也许可以尝试使用newlib( http://s
..
我有一个C库我在gcc时使用。图书馆有扩展的.lib,但总是连在一起作为静态库。如果我写它使用库作为C- code,一切,都OK的程序。如果我不过文件重命名为.CPP(做简单的东西,在这两个C / C ++工程)我得到了一个未定义的参考。这些都是简单的小程序我写的用于测试目的所以没有花哨的东西。我编译使用: 的gcc -g -Wall -I<路径的自定义页眉> -o程序的main.c
..
在'C',Linux和 我是否需要静态库静态链接,或共享那些我有足够? 如果不是,为什么不呢? (难道他们不包含相同的数据?) 解决方案 是的,你需要的静态库来构建一个静态链接的可执行文件。 静态库的编译对象束。当你用静态的图书馆链接,它实际上是一样服用该库的编译结果,在当前项目拆包它们,使用它们,好像他们是自己的对象。 动态库已经联系。这意味着,像搬迁的一些信息已经被固定起来,扔
..
我需要静态链接glibc的到我的项目,因为目标平台只支持一个很旧的(但它与静态链接glibc的作品从我的工具链,我已签吧) 不幸的是,此应用程序有权使用pthread库,但静态链接的libpthread需要太多的地方。 我想静态链接glibc的,动态的pthread。 运行这个命令之后 PowerPC的未知Linux的GNU-GCC object_files -lrt -lpthread
..
假设我有三个 C 静态库说的 libColor.a 的依赖于* libRGB *一这又依赖于的 libPixel.a 。该库的 libColor.a 的据说是依赖于图书馆的 libRGB.a 的,因为有一些定义符号的的 libColor.a 的一些参考的 libRGB.a 的。怎样所有上述库结合到一个新的 libNewColor.a 的是独立? 独立意味着新的库应该有定义的所有符号。因此,尽管联
..
我已经建立的glibc 2.14,并在目录中安装了〜/ GLIBC / glibc_install 。现在我想建立和运行使用此C库,而不是我的系统默认的C库程序。 要确保我是用我的自定义的glibc,我加入到看跌期权的呼叫到的glibc / STDIO常见/ printf.c:__的printf 打印一个消息。 然后我重建和重新安装glibc的。 然后我写了一个“Hello,Wo
..
我正在为Windows的C ++应用程序,使用OpenSSL的1.0.1e库。我在Visual Studio 2008中。 有关移植原因我的应用程序对运行时库静态链接( / MT 和 / MTD 选项)。我不船舶运行时库与我的应用程序。 按照 OpenSSL的常见问题解答,该库是默认链接的是多线程的DLL运行时( / MDD ),这是我的情况明显不符。因此,为了使我增加了 applink.c
..
我试图做一个可执行这就是尽可能携带。 :删除一些依赖关系之后,我遇到以下运行的另一个系统上的二进制来时 /lib/x86_64-linux-gnu/libm.so.6:版本`GLIBC_2.15'未找到(必填通过foob) /lib/x86_64-linux-gnu/libc.so.6:版本`GLIBC_2.15'未找到(由foob要求) /lib/x86_64-linux-gnu/libc.
..
有什么令人信服的性能的原因选择了在某些情况下动态链接或反之亦然静态链接?我听说过或阅读以下内容,但我不知道够不上受到保证其真实性。 1)静态链接和动态链接之间的性能的区别通常是可以忽略不计。 2)(1)如果用一个使用配置文件数据来优化程序hotpaths一个分析,因为编译器与静态链接,编译器可以同时优化您的code和库code是不正确的。有了动态链接只有你的code可以优化。如果大部分的时间都
..
我已经写了下面的突破性应用程序: 的#include<升压/ program_options.hpp> INT主(INT ARGC,字符** argv的) { 提高:: program_options :: options_description GENERIC_OPTIONS(“富”); 返回0; } 我想建立这个在Debian平伸,在其默认的编译器是gcc 5
..
有关CUDA暨升压互动问题偶尔弹出她这样,但他们总是对的编译的(?)CUDA与Boost的巫毒把戏麻烦。共同的看法是到$ C $隔离c。使用加速从CUDA编译code。 所以,我这样做:我在写一个小程序CUDA与的boost :: program_options 很好地限制在一个类的实施使用。我的问题是在链接 我的工作Debian的弹力(64位),这是建立与GCC 5.x的(这包括其升压1.5
..
我在我的Makefile使用它来构建我的程序: 所有:server.cpp G ++ -o服务器server.cpp -I〜/升压/ -L包括〜/升压/ lib目录-Wl,-rpath,〜/升压/ lib目录-lboost_system -lboost_thread -DBOOST_ALL_NO_LIB = 1 当我编译我得到这些警告:的/ usr / bin中/ LD:警告:libboos
..
我建立的Python(3.2.1)和boost ::蟒蛇(1_47_0)在Windows下用Visual C ++防爆preSS 2010年虽然升压::文件系统工作正常,提振:: Python没有(这些都需要链接到的库,以及标头)。我发现了错误: 2 - ; LINK:致命错误LNK1104:无法打开文件'boost_python-VC100-MT-GD-1_47.lib“ 这似乎不够清
..
我创建了一个包装器使用boost :: python的我的申请。 本迄今已通过的工作: (静态库数/来源$ C $ C) - > python_mapping.so 在这种方式我的共享对象是由许多静态库,包括提升本身(特别是boost_thread)。我会认为,这将让所有包含我的申请资料,因为我已经在静态链接的一切。 这编译就好了。 LDD python_mapping.so
..