我有一台 MacBook M1,并在我的机器上安装了一个针对 x86 / Intel 架构编译的库。我有一些使用 OpenMP 的源代码。我想使用 clang 编译器编译我的代码并将我的可执行文件链接到 x86 库。
我可以按照此处的说明,使用与brew一起分发的clang实现来编译没有x86依赖项的源代码。
然而,当我尝试使用-arch x86_64
参数进行编译并链接到 x86 库时,我发现 clang 尝试将我的可执行文件链接到为 arm64 架构构建的 OpenMP 库。
是否可以在 MacBook M1 上安装为 x86 架构构建 OpenMP 库的 clang 版本?
以下是我使用当前设置时遇到的错误示例,即使未链接到 x86 库也是如此。
源代码:
#include <omp.h>
int main()
{
return 0;
}
Run Code Online (Sandbox Code Playgroud)
调用编译器:
/opt/homebrew/opt/llvm/bin/clang++ -arch x86_64 omp_ex.cpp \
-L/opt/homebrew/opt/llvm/lib -Wl,-rpath,/opt/homebrew/opt/llvm/lib \
-I/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include
Run Code Online (Sandbox Code Playgroud)
错误信息:
ld: in '/opt/homebrew/opt/llvm/lib/libunwind.dylib', building for macOS-x86_64 but attempting to link with file built for macOS-arm64
clang-12: error: linker command …
Run Code Online (Sandbox Code Playgroud) 我发现如果我将 VS Code 远程 SSH 连接保持打开状态,它会在一段时间后自动断开连接。自动断开连接后,我发现远程 SSH 失败:当我尝试再次登录时,我收到重复的远程密码请求,每次输入密码时,我都会收到另一个密码提示。
我当前的解决方法是转到命令面板并执行“远程 SSH:终止主机上的 VS Code 服务器”。有时我需要多次执行此操作才能生效。然后,当我下次登录时,需要运行一个冗长的 VS Code 安装脚本,然后才能再次开始编码。
有没有办法设置 VS Code 远程 SSH 来避免此问题?我已经尝试了此页面上的一些建议 - https://code.visualstudio.com/docs/remote/troubleshooting。然而,我觉得我对根本问题是什么一无所知。我什至不知道如何生成信息丰富的诊断/日志。
macos ssh remote-access visual-studio-code vscode-extensions