SUSE下cc编译C程序—请高手赐教

来源:互联网  时间:2016/7/17 8:36:41

关于网友提出的“ SUSE下cc编译C程序—请高手赐教”问题疑问,本网通过在网上对“ SUSE下cc编译C程序—请高手赐教”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: SUSE下cc编译C程序—请高手赐教
描述:

我在SUSE下写的程序,要做动态库,编译使用:c c   - g  filename . c  报如下错误:undefined reference to ,' main '  collect 2 : l d   返回1 函数是没有主函数的,因为是动态库,请问还有什么原因哦,我实在是不知道了,请一定帮忙看看,谢谢啊!   


解决方案1:

把-g改成-fpic -c试下可不可以

解决方案2:

cc -o libmcislog libmcislog.c 路径 .so
动态库和源文件名是一样的啊?!

解决方案3:

引用 3 楼 yangchunyu85 的回复:
这个不太了解啊,一般不是动态库是不需要主函数的嘛,我写的用到一些头文件,还有自己的函数,编译的时候是编译的自己写的函数,函数没有报任何语法错误,那就说明没有问题了吧,还有可能是什么原因呢?

你写的一些头文件和源文件 在gcc编译的过程中生成的.i ,.s或.o文件不是库文件的
正常讲gcc生成的动态库时应该不会出现问题的
是不是调用时的问题那?
MS却需要入口函数 解决方案4:

你在生成动态库时 是不是把主函数或是入口函数删掉了
没有入口函数不能打包啊

解决方案5:

cc  -shared -fPIC -o libmcislog.so libmcislog.c 

解决方案6:

带上参数 -o filename.so

上一篇如何实现这种文件操作
下一篇请教一个编程题,有点难度
明星图片
相关文章
《 SUSE下cc编译C程序—请高手赐教》由码蚁之家搜集整理于网络,
联系邮箱:mxgf168#qq.com(#改为@)