即使提供库路径也找不到 clang++ 库
clang++ library not found even when providing library path
我试图用 glfw 创建一个新的 OpenGL 项目,很高兴在 m1 Mac 上使用 vs 代码,并设置文件,以便我拥有包含必要 headers 和库 (libglfw3.a) 文件以及包含 glad.c 和 main.cpp 的 src 文件夹,都在我的工作区文件夹中。
我已经修改了 tasks.json 文件,如下所示:
{
"version": "2.0.0",
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: clang++ build active file",
"command": "/usr/bin/clang++",
"args": [
"-fdiagnostics-color=always",
"-g",
"-std=c++17",
"-I${workspaceFolder}/include",
"-L${workspaceFolder}/lib",
"${workspaceFolder}/src/*.cpp",
"${workspaceFolder}/src/glad.c",
"-llibglfw3",
"-o",
"${workspaceFolder}/game"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "compiler: /usr/bin/clang++"
}
]
}
但是,我收到以下错误:
ld: library not found for -llibglfw3
clang: error: linker command failed with exit code 1 (use -v to see invocation)
我以为我已经正确包含了 glfw 库的路径,但它说找不到该库。我做错了什么?
作为 side-note,我已经按照 this 教程设置了程序,但是这个 post 假设您有一个 windows machine , 所以我有 downloaded/changed 一些关于 m1 mac.
的知识
通常,当您使用 -l 标志将库提供给 link 时,您会省略 lib 前缀。例如:“-lglfw3”links 文件“libglfw3.a”。看来您应该更改您的 -llibglfw3 选项。
我试图用 glfw 创建一个新的 OpenGL 项目,很高兴在 m1 Mac 上使用 vs 代码,并设置文件,以便我拥有包含必要 headers 和库 (libglfw3.a) 文件以及包含 glad.c 和 main.cpp 的 src 文件夹,都在我的工作区文件夹中。
我已经修改了 tasks.json 文件,如下所示:
{
"version": "2.0.0",
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: clang++ build active file",
"command": "/usr/bin/clang++",
"args": [
"-fdiagnostics-color=always",
"-g",
"-std=c++17",
"-I${workspaceFolder}/include",
"-L${workspaceFolder}/lib",
"${workspaceFolder}/src/*.cpp",
"${workspaceFolder}/src/glad.c",
"-llibglfw3",
"-o",
"${workspaceFolder}/game"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "compiler: /usr/bin/clang++"
}
]
}
但是,我收到以下错误:
ld: library not found for -llibglfw3
clang: error: linker command failed with exit code 1 (use -v to see invocation)
我以为我已经正确包含了 glfw 库的路径,但它说找不到该库。我做错了什么?
作为 side-note,我已经按照 this 教程设置了程序,但是这个 post 假设您有一个 windows machine , 所以我有 downloaded/changed 一些关于 m1 mac.
的知识通常,当您使用 -l 标志将库提供给 link 时,您会省略 lib 前缀。例如:“-lglfw3”links 文件“libglfw3.a”。看来您应该更改您的 -llibglfw3 选项。