-
-
Notifications
You must be signed in to change notification settings - Fork 818
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
静态库合并报错 #1641
Comments
必须要加个.c/cpp文件 或者显式设置 add_rules("c++") 或者直接设置merge archive的rule ,xmake源码里面找下 |
xmake.lua 中增加 add_rules("c++") 或者 add_files("*.c") 后 爆以下错误: ➜ uclibc git:(master) ✗ xmake -vD
[ 25%]: inserting.release libimp.a
error: @programdir/modules/private/async/runjobs.lua:232: @programdir/rules/utils/merge_archive/merge_archive.lua:47: object name(common.c.o) conflicts in library: /home/paste/working/project/jz_t21_sdk/Ingenic-SDK-T21-1.0.33-20200527/lib/uclibc/libimp.a
stack traceback:
[C]: in function 'error'
[@programdir/core/base/os.lua:829]: in function 'raise'
[@programdir/rules/utils/merge_archive/merge_archive.lua:47]: in function '_extract_for_ar'
[@programdir/rules/utils/merge_archive/merge_archive.lua:99]: in function '_extract'
[@programdir/rules/utils/merge_archive/merge_archive.lua:136]: in function 'script'
[@programdir/actions/build/kinds/object.lua:44]: in function 'jobfunc'
[@programdir/modules/private/async/runjobs.lua:208]:
[C]: in function 'trycall'
[@programdir/core/sandbox/modules/try.lua:121]: in function 'try'
[@programdir/modules/private/async/runjobs.lua:201]: in function 'cotask'
[@programdir/core/base/scheduler.lua:365]:
stack traceback:
[C]: in function 'error'
@programdir/core/base/os.lua:829: in function 'raise'
@programdir/modules/private/async/runjobs.lua:232: in function 'catch'
@programdir/core/sandbox/modules/try.lua:127: in function 'try'
@programdir/modules/private/async/runjobs.lua:201: in function 'cotask'
@programdir/core/base/scheduler.lua:365: in function <@programdir/core/base/scheduler.lua:362> 如果直接 set_policy("build.merge_archive", true) 的话,错误信息和最开始一样 |
这个问题 我不是群里说过了么,目前ar合并会有重名.o冲突问题,所以不建议这么干。 或者走 #1638 |
使用 merge_staticlib 合并测试没问题 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
描述问题
最新 dev,add_files("*.a") 链接合并所有静态库报错
错误信息
如果是xmake相关编译问题,请加上
-vD
参数运行,并给出完整编译输出信息以及执行的完整命令,例如:相关环境
其他信息
target("test")
set_kind("static")
add_files("*.a")
The text was updated successfully, but these errors were encountered: