ChinaUnix.net
相关文章推荐:

gcc链接 stm32

我在做项目的时候发现gcc在对多个lib或.o连接的时候会受引用顺序影响。 比如: gcc main.o foo1.a foo2.a -o myapp gcc main.o foo2.a foo1.a -o myapp 编译结果会不一样。我怀疑是在不同库之间的函数调用的关系引起的,并 在gcc的Using the GNU Compiler Collection中看到有这些解释: the linker searches and processes libraries and object files in the order they are specified. Thus, ‘foo.o -lz bar.o’ searches lib...

by ld_jia - 程序开发 - 2006-09-16 15:02:55 阅读(1455) 回复(4)

相关讨论

共三个文件,a.cpp, a.h, main.cpp 使用gcc编译 gcc -c a.cpp 然后把a.o打到一个库文件里面 ar rcu a.a a.o 编译main.cpp gcc -c main.cpp 最后链接 gcc -o main -lstdc++ main.o a.a 提示 undefined reference to `A::Print(void)' A::Print是a.cpp里面的类A的成员函数 奇怪的是,直接用a.o链接却是成功的 gcc -o main -lstdc++ a.o main.o 这个问题怎么解决阿? [ 本帖最后由 littleliubo 于 2006-8-2 11:35 编辑...

by littleliubo - C/C++ - 2006-08-02 11:46:25 阅读(1211) 回复(2)

我有一个别人的.o文件,没有源代码,我把我的程序编译后和该文件一起使用g++链接,提示该.o文件是64位的而我在使用32链接,请问我该如何编译链接,才能让我自己的程序也变成64位从而通过链接?HPUX 11平台。

by peterml - HP-UX - 2004-03-31 13:06:02 阅读(903) 回复(1)

如题: 我要用交叉编译的 链接器来进行链接,而现在链接的时候总是使用默认的ld, 请问如何指定我想要使用的链接器呢?谢谢。 明白了: 什麼是 LFS,簡單的說就是 DIY 自行打造一個 Linux 系統,這是由 Gerard Beekmans 所領導的 LFS Project。但這不是從無開始的,而 是借由您原已安裝的系統來進行打造。假如您想試一試 distribution 是怎麼製造出來的,不妨來玩玩 LFS。 [ 本帖最后由 wliang511 于 2008-10-16 18:41 编辑 ]

by wliang511 - C/C++ - 2008-10-17 10:10:12 阅读(3205) 回复(8)

试图使用如下参数编译连接程序 bash-3.00# gcc -o shellcode -ggdb -static shellcode.c ld: fatal: library -lc: not found ld: fatal: File processing errors. No output written to shellcode collect2: ld returned 1 exit status 我是在solaris 10 x86上进行的,请大家指点一下这个错误的原因。 如果我不使用static选项则不出错,其中libc.so在/usr/lib目录下 gcc版本信息如下: bash-3.00# gcc -v Reading specs from /us...

by stevens_wu - C/C++ - 2005-05-30 19:27:23 阅读(1836) 回复(4)

我写了一个文件,里面有一个函数testit,编译成.o,用ar放到libtestlib.a文件中。 我写了一个测试程序,用以下命令编译 g++ -I./ -L./ -otest -ltestlib test.cpp 结果告诉我testit函数链接不了............. 能告诉我为什么吗?

by znsoft - C/C++ - 2003-11-05 09:42:03 阅读(903) 回复(2)
by xzh2002 - C/C++ - 2003-12-30 13:19:34 阅读(2220) 回复(5)

ch@debian:~$ echo $PATH /usr/local/bin:/usr/bin:/bin:/usr/games:/usr/include/postgresql/ ch@debian:~/CGI/cgi-bin/bbs/manage$ gcc -o group group.c group.c:3:22: error: libpq-fe.h: 没有那个文件或目录

by 老陈73 - C/C++ - 2009-08-25 08:53:36 阅读(2836) 回复(5)

网上的说明,使用-shared可以创建动态链接库。可是要加上-fPIC,说明是生成“位置无关代码”(Position Independent Code),网上有人说,加这个参数是为了让单纯一份代码能使多个程序共享,如果不加,那么动态库会以复制的方式在内存中存在多份,也就没有办法共享数据了。 关键是最后一句,让我想起了win32里面用DLL进行进程间通讯的技术。当即试验了下。步骤是这样的: 1. 一个动态库,代码是这样的: #include int ...

by starwing83 - C/C++ - 2009-08-10 14:08:51 阅读(1411) 回复(4)

昨天借了unix高级编程第二版,网上下了示例源码,我的环境是CentOS5; 把头文件apue.h放到/usr/include/中, [code]cp ~/apue.2e/include/apue.h /usr/include[/code] 改源码包中的Make.defines.linux,make一下就在源码目录/lib中生成了libapue.a共享库了,将它放到/usr/lib中,这样就可以方便调用了。 [code]cp ~/apue.2e/lib/libapue.a /usr/lib[/code] 编译一个例子看看:[code]gcc ls1.c -o ls1 -lapue[/code]搞定! 可是参...

by yaoaijia - C/C++ - 2009-04-10 21:58:24 阅读(1908) 回复(8)

现在有一个C++源文件想生成一个动态链接库,我用的命令是: g++ -fpic -share -sourcecode.cpp -o libnew.so 不过提示一下错误: Undefined first referenced symbol in file main /opt/gcc/lib/gcc/sparc-sun-solaris2.10/4.0.3/crt1.o ld: fatal: Symbol referencing errors. No output written to libalgorithm.so collect2: ld returned 1...

by feiyang21687 - C/C++ - 2007-10-18 16:31:45 阅读(2892) 回复(2)