ChinaUnix.net
相关文章推荐:

C语言静态链接

在linux平台上,因为多方面原因,不得已有如此要求,大家见谅。 C语言编写的目标代码要调用静态库的函数,假设可以更改静态库的的makefile,但源文件后缀依旧为cpp。 有没有办法去掉cpp函数的修饰,使得c目标代码可以与其正常链接,调用。 很着急,请帮忙出出主意。 不胜感激!

by ywcjs - C/C++ - 2009-04-17 22:50:35 阅读(4042) 回复(4)

相关讨论

linux下静态链接, 加了 -static参数, 结果链接时老有如下错误提示, google半天没找到答案, 怎么解决? Using 'gethostbyname' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking| gethostbyname这个函数不能静态链接么???

by 扫地老僧 - C/C++ - 2008-12-02 10:47:41 阅读(2649) 回复(7)

我用log4cplus的库,有静态库(liblog4cplus.a)也有动态库(liblog4cplus.so) 我的环境是: /home/yrq/test/log4/test$ ls hello.cpp liblog4cplus.so /home/yrq/test/log4/test$ ls .. liblog4cplus.a t2 test 我的代码是:hello.cpp(这个是log4cplus网站上的源代码) #include #include #include using namespace log4cplus; int main( int argc, char** ...

by mukey - 程序开发 - 2006-08-08 22:04:15 阅读(696) 回复(2)

对于glibc,是不推荐静态链接的,但是某些情况下,需要这么做。问题是:静态链接所有库的时候,g++会抛出警告,程序执行的时候,会出错,google了一圈,也问了老大一圈,但是没有一个解释,可能是没人这么干吧。哪位达人帮忙,谢谢 附一个简单的例子,多线程里面调用 getaddrinfo(),静态链接所有库,程序会崩溃,在多个环境下测试: Ubuntu8.04.2 RedHatEnterprise Linux AS release 4 DebianGNU/Linux 3.1 ...

by huster001 - C/C++ - 2009-08-25 16:25:46 阅读(1693) 回复(0)

用nm 查看库liblua.a 函数明明就在那里 00000e98 T luaL_loadfile 为什么gcc calllua.c -Lmyluadir -llua仍然出错 /tmp/ccfdyd0o.o(.text+0xf3): In function `main': : undefined reference to `luaL_loadfile' 另外myluadir路径没错,因为去掉-Lmyluadir 则提示找不到lua库

by apollolegend - C/C++ - 2009-03-20 14:57:57 阅读(5814) 回复(5)

想发布的程序在没有gtk runtime环境的情况下也能运行,在dev-c++ 中怎么样进行静态库的编译? 有什么好办法把要发布的程序打包,让机器不需要安装gtk运行时环境?? [ 本帖最后由 kran 于 2008-10-13 14:01 编辑 ]

by kran - GUI编程 - 2008-10-14 23:42:24 阅读(3901) 回复(3)

可以把动态库静态链接到目标执行文件吗。这样给别人就只要提供一个执行文件就可以了。程序需要用到第三方提供的动态库,第三方未提供静态库。

by cccccc - C/C++ - 2007-10-11 21:57:33 阅读(5792) 回复(9)

大家好, 小弟的问题是这样的: 我试图把在一个程序调用一些函数,这些函数是放在libxxx.a这个静态链接库中,调用的程序又是由多个.c文件组成。由于在多个文件里都要调用这些函数,所以我在每个c文件都放了#include "/lib-path/include/libxxx.h". libxxx.h中的放的是变量的声明(而不是定义): extern variable; 问题出在我试着编译这个程序时,gcc返回variable重复定义的错误,但是如果把这个静态链接成动态库就没问题,g...

by sweetass - C/C++ - 2004-08-13 11:30:21 阅读(1617) 回复(4)

请教,我想编译生成一个.so,但是要静态链接stdc++, 请问我应如何设置gcc或ld的option。 我曾试过用-static, 但是ld报出错误说它与-G不兼容。肯 请高手执教

by Lucinda - Solaris - 2003-06-30 21:34:41 阅读(1364) 回复(2)

一顺便说说了哦 通常情况下,对函数库的链接是放在编译时期(compile time)完成的.所有相关的对象文件(object file)与牵涉到的函数库(library)被链接合成一个可执行文件(executable file).程序在运行时,与函数库再无瓜葛,因为所有需要的函数已拷贝到自己门下。所以这些函数库被成为静态库(static libaray),通常文件名为"libxxx.a"的形式. 其实,我们也可以把对一些库函数的链接载入推迟到程序运行的时期(runtime).这就是如雷贯...

by ubuntuer - C/C++ - 2013-12-10 21:53:03 阅读(39255) 回复(7)

好像搜索没什么信息. 有哪些区别呢?如何生成,使用? 下面是找到的信息: 生成动态链接库: cc –dy –G –o mylib.so filename.c –I/usr/test 还有-shared的,都可以还是有什么区别? 如何使用就不知道了(是没看懂).,不知道对使用这个库的程序有没有要求? 生成静态链接库: ar r ~/lib/libtest.a myfunc1.o myfunc2.o 也不知道如何使用.

by THEBEST - C/C++ - 2005-03-02 10:53:18 阅读(754) 回复(0)