精易论坛

标题: 易语言静态编译提示libc.lib(crt0dat.obj)错误 [打印本页]

作者: zhenjunlove    时间: 2024-6-12 17:48
标题: 易语言静态编译提示libc.lib(crt0dat.obj)错误

初步怀疑是我的支持库缺失什么文件,如果有大神可以编译,请帮忙打包下你的静态lib库,非常感谢。
提供源文件,请大神们帮忙看下,

----------------该方法已经试过,无效。
打开 易语言更目录\tools\link.ini
加入代码:extra_args=/NODEFAULTLIB:LIBC.lib


以下是报错代码----------------------
正在编译现行程序
正在检查重复名称...
正在预处理现行程序
正在进行名称连接...
正在统计需要编译的子程序
正在编译...
正在生成主程序入口代码
程序代码编译成功
等待用户输入欲编译到的文件名
正在进行名称连接...
开始静态链接...
libc.lib(crt0dat.obj) : error LNK2005: __cinit already defined in libcmt.lib(crt0dat.obj)
libc.lib(crt0dat.obj) : error LNK2005: _exit already defined in libcmt.lib(crt0dat.obj)
libc.lib(crt0dat.obj) : error LNK2005: __exit already defined in libcmt.lib(crt0dat.obj)
libc.lib(crt0dat.obj) : error LNK2005: __cexit already defined in libcmt.lib(crt0dat.obj)
libc.lib(crt0dat.obj) : error LNK2005: __c_exit already defined in libcmt.lib(crt0dat.obj)
libc.lib(crt0dat.obj) : error LNK2005: __C_Exit_Done already defined in libcmt.lib(crt0dat.obj)
libc.lib(crt0dat.obj) : error LNK2005: __C_Termination_Done already defined in libcmt.lib(crt0dat.obj)
libc.lib(crt0dat.obj) : error LNK2005: __exitflag already defined in libcmt.lib(crt0dat.obj)
libc.lib(crt0dat.obj) : error LNK2005: __wpgmptr already defined in libcmt.lib(crt0dat.obj)
libc.lib(crt0dat.obj) : error LNK2005: __pgmptr already defined in libcmt.lib(crt0dat.obj)
libc.lib(crt0dat.obj) : error LNK2005: ___winitenv already defined in libcmt.lib(crt0dat.obj)
libc.lib(crt0dat.obj) : error LNK2005: __wenviron already defined in libcmt.lib(crt0dat.obj)
libc.lib(crt0dat.obj) : error LNK2005: ___initenv already defined in libcmt.lib(crt0dat.obj)
libc.lib(crt0dat.obj) : error LNK2005: __environ already defined in libcmt.lib(crt0dat.obj)
libc.lib(crt0dat.obj) : error LNK2005: ___wargv already defined in libcmt.lib(crt0dat.obj)
libc.lib(crt0dat.obj) : error LNK2005: ___argv already defined in libcmt.lib(crt0dat.obj)
libc.lib(crt0dat.obj) : error LNK2005: ___argc already defined in libcmt.lib(crt0dat.obj)
libc.lib(crt0dat.obj) : error LNK2005: __winminor already defined in libcmt.lib(crt0dat.obj)
libc.lib(crt0dat.obj) : error LNK2005: __winmajor already defined in libcmt.lib(crt0dat.obj)
libc.lib(crt0dat.obj) : error LNK2005: __winver already defined in libcmt.lib(crt0dat.obj)
libc.lib(crt0dat.obj) : error LNK2005: __osver already defined in libcmt.lib(crt0dat.obj)
libc.lib(crt0dat.obj) : error LNK2005: __umaskval already defined in libcmt.lib(crt0dat.obj)
C:\Users\laopo\Desktop\123.exe : fatal error LNK1169: one or more multiply defined symbols found
静态连接失败


123.e (22.98 KB, 下载次数: 1)



作者: zhenjunlove    时间: 2024-6-12 17:55
根据论坛大神的帖子解决了。https://125.confly.eu.org/forum.php?mod ... d%2Bsymbols%2Bfound


方法

你在启动窗口下
加一个
取图片组图片 (#图片, 1, )

#图片  你随便加载一个图片就行

之后就静态编译了  
作者: fire9    时间: 2024-6-12 17:56
https://125.confly.eu.org/forum.php?mod ... d%2Bsymbols%2Bfound

补充内容 (2024-6-12 17:56):
噢噢刚发你就找到了。
作者: 1226852858    时间: 2024-6-12 18:14
fire9 发表于 2024-6-12 17:56
https://125.confly.eu.org/forum.php?mod=viewthread&tid=13926159&highlight=fatal%2Berror%2BLNK1169%3A%2Bone% ...

人家就不想给你15精币
作者: zhenjunlove    时间: 2024-6-12 20:00
1226852858 发表于 2024-6-12 18:14
人家就不想给你15精币

大哥  你看我自己找到的帖子是2L。麻烦不要污蔑我。
作者: zhenjunlove    时间: 2024-6-14 15:46
zhenjunlove 发表于 2024-6-12 17:55
根据论坛大神的帖子解决了。https://125.confly.eu.org/forum.php?mod=viewthread&tid=13926159&highlight=fatal%2 ...

之前尝试了安装目录修改\tools\link.ini无效
最终发现原因是易语言实际调用的link.ini文本不对,通过everything发现
还有多个link.ini文件,最终定位到是这个目录下的,大家如果添加了没有效果,可以下载一个everything来找你真正的link.ini 或者就定位到我下面提供的位置。

再补充一种解决办法:
C:\Users\用户名\AppData\Local\VirtualStore\Program Files (x86)\e\tools\link.ini
加入代码:extra_args=/NODEFAULTLIB:LIBC.lib




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4