我是个linux编程新手,使用的系统是fedora9,编程语言为C。我用的编译系统是gcc(系统自带),gcc有默认的头文件和库文件所搜路径(/usr /include和/usr/lib,这个应该没错吧?)。现在我想让gcc能够搜索我自己编写的一些头文件和库文件,我的做法如下,请帮忙分析下: (1)新建自己的头文件路径/home/user/workspace/include和库文件路径/home/user/workspace/lib,这两个目录用来存放我自己编写的头文件和库文件; (2)...
by gofortime - C/C++ - 2009-03-08 23:17:40 阅读(5730) 回复(6)
问题1. 静态库 (.a) 生成的动态库无法使用? 请问为什么, 如何解决?
问题2. 动态库 (.so) 静态链接生成的程序无法执行? 请问为什么, 如何解决?
实验条件:
main.c:
[code]
#include
我有个程序需要连接多个库,有些是公司内部的库提供.so和.a还要连接标准的库如pthread nsl。 不加-static动态编译可以通过。 但是加了-static就不能找到pthread nsl等系统的库了。 很是郁闷啊。 能不能做到只静态连接某一个库,其他的都动态连接。 在线等,各位大大赐教啊。
我在IBM RS6000 AIX5.1下,用gcc2.95.3升级至gcc3.0.2,configure时没问题,但make时出现如下问题: Collect2: /lib/libld.a: not a COFF file(其中 /lib/libld.a文件已通过/usr/ccs/lib/libld.a链接) 还有我用gcc2.95.3设置mysql-3.23.53,执行configure时出现如下问题: No curses/termcap library found 哪位大侠能帮个忙,谢谢!
有3个文件,helper.c helper.h howdy.c ,代码如下:
helper.h
void msg(void) ;
void a(void) ;
helper.c
#include "helper.h"
#include
用 gcc 创建静态库的的时候,出了点问题。
写了两个源文件 hellofirst.c hellosecond.c
/*hellofirst.c*/
#include
刚安装完gcc,用PATH=/usr/local/bin;export PATH 设置路径到是可以,但是ls都不能用了,而且每次打开终端都要重新设置。 想问下,要怎么才能设置为永久的? 麻烦知道的说得详细点哦 谢谢了
我在运行gcc之前,每次必须设置路径: PATH=/usr/local/bin;export PATH 我想省掉这个麻烦,就想在.profile里添加PATH=/usr/local/bin;export PATH这行进去。添加进去之后连/usr/bin下的基本命令比如ls等都不能用了。后来把添加的那行替换为PATH=/bin:/sbin:/usr/bin:/usr/sbin:/etc:/usr/local/bin:/usr/ccs/bin;export PATH还是不行。 我不知道问题出在什么地方,请各位大虾指教。 机器不是生产机器,所以一般都是以root登陆的。...
gcc 编译 带 include 路径问题 每次编译文件 gcc -I /usr/oracle/include sample2.c -lclntsh 如何能去掉-I /usr/oracle/include 我的.cshrc 中已带有 /usr/oracle/include set path=(/usr/bin /usr/oracle/lib /usr/oracle/include /usr/oracle/OraHome1/bin /usr/oracle/bin /usr/local/bin /usr/ccs/bin /usr/ucb /etc .)