我已安装SFML但Visual Studio Code无法找到该库 . 我是Ubuntu的新手,也是C的新手 .
如何让IDE识别库?
这是输入终端时显示的“ libsfml-graphics-d.so
” .
libsfml-window-d.so.2.5 (libc6,x86-64) => /usr/local/lib/libsfml-window-d.so.2.5
libsfml-window-d.so (libc6,x86-64) => /usr/local/lib/libsfml-window-d.so
libsfml-system-d.so.2.5 (libc6,x86-64) => /usr/local/lib/libsfml-system-d.so.2.5
libsfml-system-d.so (libc6,x86-64) => /usr/local/lib/libsfml-system-d.so
libsfml-network-d.so.2.5 (libc6,x86-64) => /usr/local/lib/libsfml-network-d.so.2.5
libsfml-network-d.so (libc6,x86-64) => /usr/local/lib/libsfml-network-d.so
libsfml-graphics-d.so.2.5 (libc6,x86-64) => /usr/local/lib/libsfml-graphics-d.so.2.5
libsfml-graphics-d.so (libc6,x86-64) => /usr/local/lib/libsfml-graphics-d.so
libsfml-audio-d.so.2.5 (libc6,x86-64) => /usr/local/lib/libsfml-audio-d.so.2.5
libsfml-audio-d.so (libc6,x86-64) => /usr/local/lib/libsfml-audio-d.so
这些是我在Visual Studio代码中的用户设置:
{
"editor.detectIndentation": false,
"editor.tabSize": 3,
"editor.insertSpaces": true,
"telemetry.enableTelemetry": false,
"telemetry.enableCrashReporter": false,
"window.zoomLevel": 1,
"editor.rulers": [80,120],
"clang.cxxflags": ["/usr/local/lib/"],
}
当我的鼠标悬停在我的C代码上时,显示“ #include <libsfml-graphics-d.so>
”此文本:
检测到#include错误 . 请更新您的includePath . Tag Parser将提供此翻译单元的智能感知功能(/home/userName/Desktop/Temp_Towers_Of_Babel/World_Generation/Main.cpp) . 无法打开源文件“libsfml-graphics-d.so”'libsfml-graphics-d.so'文件未找到
1 回答
如果您想包括例如SFML图形,为什么不尝试这种方式?
#include <SFML/Graphics.hpp>
另一方面,如果您想在VS Code中使用C,我建议您安装"c/c++"插件 . 您可以使用此搜索字词
c/c++
在市场上找到它 . vscode-cpptools如果你能用here编译示例代码,这是一个很好的观点 .
我认为CMake在正确配置方面也帮了我很多忙 .
例如这是一个简单的CMakeLists.txt文件 . Here你可以阅读整篇文章 .
whereis SFML
命令可以帮助您找到此行的<sfml root prefix>
部分# set(SFML_DIR "<sfml root prefix>/lib/cmake/SFML")
所以我的解决方案提案一步一步:
安装VS Code c/c++和CMake Tools插件
检查你可以用here中的g编译示例main.cpp
将代码snipet添加到项目根文件夹中的
CMakeList.txt
文件使用
apt install cmake
命令安装cmake转到项目文件夹并使用
mkdir build
添加构建文件夹cd build
cmake ..
make
在此步骤之后,您将获得名为SFMLTest
的可执行文件在VS Code中打开项目文件夹 . 我认为它将自行配置所有内容
如果它仍然无法正常工作,您应该检查answer并尝试自己配置包含路径