Linux C里能引入.lib文件吗?好像挺棘手的
我现在要把windows的程序移植到linux里,源程序用到了不少的.lib和.dll,dll不适合于linux,已决定要重写source为.so,但引入的.lib文件又该如何处理?是不是也要重写为.so?希望有经验的朋友能详细告知,谢谢! 问题点数:50、回复次数:10Top
1 楼hundlom(托克维尔)回复于 2005-12-05 15:56:44 得分 10
源程序中用到的.dll的源代码吗?
有的话可以自己重新写,在linux平台下重新编译生成.so。
没有.dll源代码,这个问题好象无法解决。Top
2 楼qybao(阿宝)回复于 2005-12-05 16:36:07 得分 0
我现在有dll的源代码,所以打算把dll重新改写为so,但是dll里又用到了其它的lib文件,不知道其他lib文件在linux里该如何引入,或者也要找到lib文件的源代码,重新改写为so,或者改写为a?Top
3 楼hundlom(托克维尔)回复于 2005-12-05 16:50:32 得分 0
全部改写。Top
4 楼bekars(涡轮增压:没有解决不了的问题,因为根本就没有问题)回复于 2005-12-05 17:38:57 得分 15
lib改写为.a静态链接库
dll改写为.so动态链接库Top
5 楼x86(大雪)回复于 2005-12-05 17:50:52 得分 15
.lib的代码也要全部改写. 如果是别人写的没有源码, 那就没办法了.
不过也可以试试wine,让你的程序在wine里面跑, 那就什么也不用修改了.Top
6 楼qybao(阿宝)回复于 2005-12-06 08:07:56 得分 0
多谢各位朋友了
to x86(大雪)
我用wine试过了,没问题的,只是公司不希望用wine,所以都要重新开发了
我还想再弄明白一点,在windows里,引入.lib可以这样
#pragma comment(lib,"xxx.lib")
在linux C里是怎样对应的?
Top
7 楼cashtang(孤独)回复于 2005-12-06 12:36:27 得分 10
gcc -o test test.o -lxxx
你必须有一个libxxx.a的库,可以用-L/path/to/your/lib来指定路径Top
8 楼qybao(阿宝)回复于 2005-12-06 14:20:54 得分 0
to 楼上的朋友
也就是说不需要在代码里显式地引入我的库,比如windows的#pragma comment(lib,"xxx.lib"),只需要在编译时做下手脚就可以了,是这样吗?不知道这样在编译的时候能不能认识我的库的函数?Top
9 楼wyjam(漂泊天空(抵制日货,鄙视用YONEX拍子的人))回复于 2005-12-06 15:55:58 得分 0
你说的是LIB的WINDOWS库?可能不认识,希望你帖出测试后的结果,我们也LOOK一下。谢谢。Top
10 楼qybao(阿宝)回复于 2005-12-06 16:27:32 得分 0
to wyjam(我心飞翔)
我指的是把lib转换成a以后,是不是在代码里要显式地引入我的库a,如果是,该怎么引入?如果不是,是不是在编译时做下手脚就可以?
头一次做window程序的linux移植,很多东西不会
等我研究透了,我一定会把成果帖出来共享的
Top




