开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 2236|回复: 16
收起左侧

[完成] 静态链接失败 用过静态链接修复器没用

 关闭 [复制链接]
结帖率:91% (21/23)
发表于 2020-10-28 10:35:14 | 显示全部楼层 |阅读模式   浙江省温州市
99精币
开始静态链接...
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\feiteng\Desktop\秒淘惠V1.2.exe : fatal error LNK1169: one or more multiply defined symbols found
静态连接失败
这是开始编译后出现的内容 请大佬帮个忙

额鹅鹅鹅.png

最佳答案

查看完整内容

link.ini里加个 extra_args=/NODEFAULTLIB:libc.lib 试试
结帖率:100% (5/5)
发表于 2020-10-28 10:35:15 | 显示全部楼层   广西壮族自治区防城港市
link.ini里加个 extra_args=/NODEFAULTLIB:libc.lib  试试
回复

使用道具 举报

签到天数: 5 天

发表于 2020-10-28 10:47:04 | 显示全部楼层   山东省滨州市

以下自引用问答区另一个帖子

默认库“libcmt.lib”与其他库的使用冲突;请使用 /NODEFAULTLIB:library
extra_args=/NODEFAULTLIB:"LIBC.lib"   修改这条命令就行了   link.ini  去掉分号

回复

使用道具 举报

签到天数: 5 天

发表于 2020-10-28 10:49:47 | 显示全部楼层   山东省滨州市
请跳转这个链接fatal error LNK1169: one or more multiply defined symbols found静态连接失败
之前有个回复貌似被吞了。
你这个问题百d一下就出来了
回复

使用道具 举报

结帖率:91% (21/23)

签到天数: 5 天

 楼主| 发表于 2020-10-28 11:34:54 | 显示全部楼层   浙江省温州市
fq19851220 发表于 2020-10-28 10:47
link.ini里加个 extra_args=/NODEFAULTLIB:libc.lib  试试

在配置文件随意一个位置加这个吗
回复

使用道具 举报

结帖率:91% (21/23)

签到天数: 5 天

 楼主| 发表于 2020-10-28 11:35:13 | 显示全部楼层   浙江省温州市
禁回忆 发表于 2020-10-28 10:49
请跳转这个链接fatal error LNK1169: one or more multiply defined symbols found静态连接失败
之前有个回 ...

百d啦 好像找不到
回复

使用道具 举报

结帖率:91% (21/23)

签到天数: 5 天

 楼主| 发表于 2020-10-28 11:38:27 | 显示全部楼层   浙江省温州市
fq19851220 发表于 2020-10-28 10:47
link.ini里加个 extra_args=/NODEFAULTLIB:libc.lib  试试

加了这个还是不行
回复

使用道具 举报

结帖率:91% (21/23)

签到天数: 5 天

 楼主| 发表于 2020-10-28 11:39:01 | 显示全部楼层   浙江省温州市
fq19851220 发表于 2020-10-28 10:47
link.ini里加个 extra_args=/NODEFAULTLIB:libc.lib  试试

[linker]
;
; 这是易语言链接器插件的配置文件,用于设置静态编译时使用的外部链接器及其参数
;
; 配置项采用 name=value 的形式,注意等号两侧不可有空格
; 行首为半角分号(;),表示该行是注释行(一整行均为注释)
; 欲使某一配置项生效,请删除该行行首的分号(;)及空白字符
;


;linker_type=vc6
;  linker_type用于指定链接器类型。可选值有 vc6, gcc4, elink, alink 等。目前暂不可用。


;linker="C:\full\path\link.exe"
;  linker用于指定链接器文件。可以使用完整路径或相对路径(相对于易语言安装目录),路径两端可以加上半角双引号。
;  如果不指定此项,默认会根据linker_type尝试寻找链接器路径。


;output_file="C:\e_link_output.txt"
;  output_file用于设置将链接器输出重定向到指定文件。可以使用完整路径或相对路径(相对于易语言安装目录),路径两端可以加上半角双引号。
;  如果不指定此项,默认在易语言IDE的“输出”面板中输出。


;extra_args=
;  extra_args用于指定附加给链接器的额外参数。默认为空。


;show_command_line=yes
;  show_command_line用于指定是否在易语言IDE的“输出”面板中输出链接器的命令行。
;  可以设置为 yes 或 no。默认值为no,即不输出链接器命令行。


;stop_if_too_many_errors=no
;  stop_if_too_many_errors用于指定,当静态链接过程中出现过多错误信息(大约 30 条)时,是否允许中止链接。
;  可以设置为 yes 或 no。默认值为yes,即,如果链接错误过多,会弹出信息框询问用户是否中止链接。


;retain_intermediate_files=yes
;  retain_intermediate_files用于设置是否保留链接期间生成的中间文件(比如 obj,res,lib 等文件)。
;  可以设置为 yes 或 no。默认值为no,即不保留中间文件。


;show_warning=yes
;  show_warning用于设置是否显示在静态链接过程中连接器输出的警告(warning)信息。
;  可以设置为 yes 或 no。默认值为no,即不输出警告信息(但某些特殊的警告信息除外)。


;post_link_actionX=command_and_args
;
;  post_link_actionX(其中X为100以内的数值, 1-100)用于指定“链接后动作”,其值为欲在链接成功后执行的程序及其参数。
;  如同时存在多个post_link_actionX配置项,它们将按照数值X从小到大的顺序依次执行。
;  如果是控制台程序,其输出信息将被显示在易语言IDE的“输出”面板中;
;  如果是窗口程序(GUI),请使用如下形式启动它以避免导致易语言IDE失去响应:$(START) command_and_args
;
;  在命令行中可以使用下面这些宏:
;    $(TARGET), $(TARGET_FILE)   表示本次静态编译的结果文件的全路径文件名,以双引号包含,形如:"c:\full path\to\target.exe"
;    $(TARGET_NON_QUOTED)        基本等同于$(TARGET)或$(TARGET_FILE),只是两端无双引号,形如:c:\full path\to\target.exe
;    $(TARGET_DIR)               表示本次静态编译的结果文件所在的目录,结尾无字符"\",两端无引号,形如:c:\full path\to
;    $(TARGET_FILE_NAME)         表示本次静态编译的结果文件名,形如:target.exe
;    $(TARGET_FILE_BASE_NAME)    表示本次静态编译的结果文件名除去扩展名后的部分,形如:target
;    $(TARGET_FILE_EXT)          表示本次静态编译的结果文件的扩展名部分,形如:exe
;    $(OS_SYSTEM), $(OS_TEMP)    分别表示当前操作系统的系统目录(通常是C:\WINDOWS\System32)和临时目录(通常是C:\WINDOWS\Temp)
;    $(E_HOME), $(E_TOOLS)       分别表示易语言安装目录及其下的tools子目录
;    $(ECHO)                     用于原样输出参数,等价于:"$(E_TOOLS)\echo.exe",后跟欲输出的一个或多个参数
;    $(START)                    用于启动窗口程序(GUI),等价于:"$(E_TOOLS)\start.exe",后跟欲启动的程序及其参数
;    $(CMD_ECHO)                 用于原样输出参数,等价于:cmd.exe /c echo,后跟欲输出的一个或多个参数
;    $(CMD_START)                用于启动窗口程序(GUI),等价于:cmd.exe /c start "title",后跟欲启动的程序及其参数
;  注,如无特别说明:与全路径文件名相关的宏,两端都有引号;与目录相关的宏,两端都没有双引号,结尾也不带字符"\"。
;  宏名称中的字母必须大写;在宏名称前加转义字符$可以避免对宏求值,如:$$(TARGET) 会被视为文本 $(TARGET)。
;
;“链接后动作”配置示例:
;post_link_action1=$(ECHO) 静态编译成功:$(TARGET)
;post_link_action2=$(START) $(TARGET)
;extra_args=/NODEFAULTLIB:libc.lib
;post_link_action3=cmd.exe /c copy $(TARGET) "C:\$(TARGET_FILE_BASE_NAME).$(TARGET_FILE_EXT)"

这是我的link.ini配置内容
回复

使用道具 举报

结帖率:91% (21/23)

签到天数: 5 天

 楼主| 发表于 2020-10-28 11:44:38 | 显示全部楼层   浙江省温州市
禁回忆 发表于 2020-10-28 10:47
[md]以下自引用[问答区另一个帖子](https://bbs.125.la/thread-13869225-1-1.html)
>默认库“libcmt.lib” ...

想请问下在link.ini配置文件哪个位置修改这个
回复

使用道具 举报

结帖率:100% (5/5)
发表于 2020-10-28 11:47:38 | 显示全部楼层   广西壮族自治区防城港市
1231ad 发表于 2020-10-28 11:44
想请问下在link.ini配置文件哪个位置修改这个

link.ini 本来就有extra_args  你在后面加上上面的内容 然后删掉前面的分号(;)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表