Linux C里能引入.lib文件吗?好像挺棘手的

qybao 2005-12-05 03:33:29
我现在要把windows的程序移植到linux里,源程序用到了不少的.lib和.dll,dll不适合于linux,已决定要重写source为.so,但引入的.lib文件又该如何处理?是不是也要重写为.so?希望有经验的朋友能详细告知,谢谢!
...全文
674 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
cashtang 2005-12-06
  • 打赏
  • 举报
回复
gcc -o test test.o -lxxx
你必须有一个libxxx.a的库,可以用-L/path/to/your/lib来指定路径
qybao 2005-12-06
  • 打赏
  • 举报
回复
多谢各位朋友了
to x86(大雪)
我用wine试过了,没问题的,只是公司不希望用wine,所以都要重新开发了

我还想再弄明白一点,在windows里,引入.lib可以这样
#pragma comment(lib,"xxx.lib")
在linux C里是怎样对应的?
qybao 2005-12-06
  • 打赏
  • 举报
回复
to wyjam(我心飞翔)
我指的是把lib转换成a以后,是不是在代码里要显式地引入我的库a,如果是,该怎么引入?如果不是,是不是在编译时做下手脚就可以?
头一次做window程序的linux移植,很多东西不会
等我研究透了,我一定会把成果帖出来共享的
wyjam 2005-12-06
  • 打赏
  • 举报
回复
你说的是LIB的WINDOWS库?可能不认识,希望你帖出测试后的结果,我们也LOOK一下。谢谢。
qybao 2005-12-06
  • 打赏
  • 举报
回复
to 楼上的朋友
也就是说不需要在代码里显式地引入我的库,比如windows的#pragma comment(lib,"xxx.lib"),只需要在编译时做下手脚就可以了,是这样吗?不知道这样在编译的时候能不能认识我的库的函数?
x86 2005-12-05
  • 打赏
  • 举报
回复
.lib的代码也要全部改写. 如果是别人写的没有源码, 那就没办法了.
不过也可以试试wine,让你的程序在wine里面跑, 那就什么也不用修改了.
bekars 2005-12-05
  • 打赏
  • 举报
回复
lib改写为.a静态链接库
dll改写为.so动态链接库
hundlom 2005-12-05
  • 打赏
  • 举报
回复
全部改写。
qybao 2005-12-05
  • 打赏
  • 举报
回复
我现在有dll的源代码,所以打算把dll重新改写为so,但是dll里又用到了其它的lib文件,不知道其他lib文件在linux里该如何引入,或者也要找到lib文件的源代码,重新改写为so,或者改写为a?
hundlom 2005-12-05
  • 打赏
  • 举报
回复
源程序中用到的.dll的源代码吗?
有的话可以自己重新写,在linux平台下重新编译生成.so。
没有.dll源代码,这个问题好象无法解决。

23,120

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧