关于网友提出的“ 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
动态库和源文件名是一样的啊?!
你写的一些头文件和源文件 在gcc编译的过程中生成的.i ,.s或.o文件不是库文件的
正常讲gcc生成的动态库时应该不会出现问题的
是不是调用时的问题那?
MS却需要入口函数 解决方案4:
你在生成动态库时 是不是把主函数或是入口函数删掉了
没有入口函数不能打包啊
cc -shared -fPIC -o libmcislog.so libmcislog.c
解决方案6:带上参数 -o filename.so