我在Linux云服务器上安装了minGW64,以便为Windows进行交叉编译(使用mingw-w64-bin_x86_64- linux_20131228.tar.bz2)。我正在编译NASM并与ld链接。
这是我的初始链接字符串:
sudo ld -dll -o PST.dll -e Main_Entry_fn l:/opt/minGW64/msvcrt.dll PST.obj
当我链接时,它报告没有要链接的msvcrt.dll:
attempt to open l:/opt/minGW64/msvcrt.dll failed
ld: cannot find l:/opt/minGW64/msvcrt.dll: No such file or directory
我搜索了我的Linux服务器上的安装目录,找到了/opt/minGW64/x86_64-w64-mingw32/lib/libmsvcr110.a,所以我用完整的路径替换了它。它仍然报告它无法找到该文件,即使我使用完整路径指定它并验证它是否存在。
所以我添加了没有路径的路径名和库名:
sudo ld -dll -o PST.dll -e Main_Entry_fn -L /opt/minGW64/x86_64-w64-mingw32/lib/ l:libmsvcr110.a PST.obj
但它仍然报告找不到libmsvcr110.a,即使我已经验证了它。
问题:在我的命令字符串中,我在Linux服务器上使用minGW64进行交叉链接并链接到msvcrt时出错了什么?
非常感谢您的帮助。