首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用llvm链接器(lld)和mingw

使用llvm链接器(lld)和mingw
EN

Stack Overflow用户
提问于 2019-04-24 08:40:00
回答 1查看 2K关注 0票数 4

我想拥有完整的Win32开发工具链,而不是Microsoft。mingw64可以工作,但是它的链接非常慢。作为另一种选择,我正在尝试使用clang作为窗口。我可以让clang7.0.1(但不是8.0.0)使用mingw /库,但是只能使用ld.exe。如果我强制使用ldd.exe (-fuse=ld),一切都会编译并链接良好,但是应用程序在启动时会立即崩溃。这里有什么我能做的吗,比如改变命令行中的什么东西?

这是链接步骤的命令行和-详细的样子:

代码语言:javascript
复制
Linking...
clang++ -static -o "C:\upp\out\MyApps\CLANG.Debug.Debug_Full\main.exe"
    -ggdb -L"C:\upp\bin/mingw64/64/x86_64-w64-mingw32/lib"
    -L"C:\uppbin/mingw64/64/opt/lib" -L"C:\upp\bin/SDL2/lib/x64" 
    -L"C:\upp\bin/pgsql/x64/bin"
    -L"C:\upp\bin/mysql/lib64"
    -Wl,--stack,20000000 --verbose -target x86_64-pc-windows-gnu
    -fuse-ld=lld
    "C:/upp/out/MyApps/main/CLANG.Debug.Debug_Full.Main\main.o"
    -Wl,--start-group  -Wl,--end-group
clang version 7.0.1 (tags/RELEASE_701/final)
Target: x86_64-pc-windows-gnu
Thread model: posix
InstalledDir: C:\xxx\LLVM2\bin
 "C:\\xxx\\LLVM2\\bin\\ld.lld" -m i386pep -Bstatic
 -o "C:\\upp\\out\\MyApps\\CLANG.Debug.Debug_Full\\main.exe"
 "C:\\upp\\bin\\mingw64\\64\\x86_64-w64-mingw32\\lib\\crt2.o"
 "C:\\upp\\bin\\mingw64\\64\\lib\\gcc\\x86_64-w64-mingw32\\8.1.0\\crtbegin.o"    
 "-LC:\\upp\\bin/mingw64/64/x86_64-w64-mingw32/lib"
 "-LC:\\upp\\bin/mingw64/64/opt/lib"
 "-LC:\\upp\\bin/SDL2/lib/x64" "-LC:\\upp\\bin/pgsql/x64/bin"
 "-LC:\\upp\\bin/mysql/lib64"
 "-LC:\\upp\\bin\\mingw64\\64\\lib\\gcc\\x86_64-w64-mingw32\\8.1.0" 
 "-LC:\\upp\\bin\\mingw64\\64\\x86_64-w64-mingw32\\lib"
 "-LC:\\upp\\bin\\mingw64\\64\\lib"
 "-LC:\\upp\\bin\\mingw64\\64\\x86_64-w64-mingw32/sys-root/mingw/lib"
 --stack 20000000
 "C:/upp/out/MyApps/main/CLANG.Debug.Debug_Full.Main\\main.o"
 --start-group --end-group -lstdc++ --start-group -lmingw32
 -lgcc -lgcc_eh -lmoldname -lmingwex -lmsvcrt -ladvapi32 -lshell32
 -luser32 -lkernel32 --end-group
 "C:\\upp\\bin\\mingw64\\64\\lib\\gcc\\x86_64-w64-mingw32\\8.1.0\\crtend.o"
EN

回答 1

Stack Overflow用户

发布于 2022-07-29 11:42:06

llvm-mingw工具链非常容易使用,并提供最新的clang / libc++ / lld,而不依赖于Microsoft头:https://github.com/mstorsjo/llvm-mingw

它与Microsoft ucrt进行链接,因此与MSVC构建的DLL兼容(对于C++ / ABI,而不是C++,因为它使用的是不同的标准库实现)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55825807

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档