下面是部分makefile,可以看到BASELIB后面接着 -limqb23ia -limqs23ia -lmqm,但是在BASELIB的那个目录下没有这几个文件。这个makefile在老机器上可以跑 但是在新机器上就有问题 怀疑是少了-limqb23ia -limqs23ia -lmqm所指的几个库,但是是什么库?为什么在老机器上那个目录下没有这三个文件也可以跑?
CPPMQLIB= -limqb23ia -limqs23ia -lmqm
ESQLLIB = -L$(INFORMIXDIR)/lib/esql -L$(INFORMIXDIR)/lib -lifsql \
-lifasf -lifgen -lifos -lifgls -lifglx $(INFORMIXDIR)/lib/esql/checkapi.o
DMILIB = -L$(INFORMIXDIR)/lib/dmi -lifdmi
CPPIFXLIB= -L$(INFORMIXDIR)/lib/c++ -lifc++
BASELIB=-L$(BASEDIR)/nmbase/lib -lbase -lbaseifx
SRBCLIB=-L/usr/local/SRBC2.0/lib64/ifx_static -lsrbc
#-ljk
BASEIFXLIB=-L$(BASEDIR)/nmbase/lib -lbaseifx -lbase
JKLIB=-L$(BASEDIR)/interface -ljk
LIBS=$(SYSLIB) $(BASELIB) $(CPPMQLIB) $(SRBCLIB) $(ESQLLIB) $(DMILIB) $(CPPIFXLIB)
------解决方案--------------------------------------------------------
那可能是放在环境变量里面的路径里了
可以先在 /usr/lib /lib下找找 libmqm 等等看
初学LINUX
仅供参考
------解决方案--------------------------------------------------------
按照下面的顺序找,一定能找到的,不然应该编译不过去的。
1.编译目标代码时指定的动态库搜索路径;
2.环境变量LD_LIBRARY_PATH指定的动态库搜索路径;
3.配置文件/etc/ld.so.conf中指定的动态库搜索路径;
4.默认的动态库搜索路径/lib;
5.默认的动态库搜索路径/usr/lib