我正在尝试使用clang
作为编译驱动程序和MinGw ld
Windows 上的链接器来执行一个简单的 c++ 程序。
我知道 windows 上的 clang 会寻找 MSVC 链接器link.exe
,但link.exe
不支持链接器脚本所以我正在尝试使用这个简单的程序 main.cpp 的不同选项
#include <iostream>
int main()
{
std::cout << "hello world";
return 0;
}
选项1
clang++ main.cpp -o main.exe -fuse-ld=lld-link
所以在这里我用名为的选项更改了链接器-fuse-ld=lld-link
当我执行 main.exe 时,我将毫无问题地获得预期的输出。
选项 2
clang++ main.cpp -o main.exe -fuse-ld=ld
我会收到以下错误
Warning: corrupt .drectve at end of def file
C:\MinGW\bin\ld.exe: warning: cannot find entry symbol faultlib:libcmt; defaulting to 00401000
即使这些是警告,也不会生成 main.exe。
链接时如何获取可执行文件MinGW linker ld
?
请提供任何解决方案。