c – 将SFML图形库与Visual Studio代码和Ubuntu 18.04一起使用
作者:互联网
我已安装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 errors detected. Please update your includePath.
IntelliSense features for this translation unit (/home/userName/Desktop/Temp_Towers_Of_Babel/World_Generation/Main.cpp) will be provided by the Tag Parser.
Cannot open source file “libsfml-graphics-d.so”
‘libsfml-graphics-d.so’ file not found
解决方法:
如果您想包括例如SFML图形,为什么不尝试这种方式?
#include< SFML / Graphics.hpp>
另一方面,如果您想在VS Code中使用C,我建议您安装“c / c”插件.您可以使用此搜索词c / c在市场上找到它.
vscode-cpptools
如果您可以使用g编译here中的示例代码,这是一个好点.
我认为CMake在正确配置方面也帮了我很多忙.
例如这是一个简单的CMakeLists.txt文件. Here你可以阅读整篇文章.
cmake_minimum_required(VERSION 3.1)
project(SFMLTest)
## If you want to link SFML statically
# set(SFML_STATIC_LIBRARIES TRUE)
## In most cases better set in the CMake cache
# set(SFML_DIR "<sfml root prefix>/lib/cmake/SFML")
find_package(SFML 2.5 COMPONENTS graphics audio REQUIRED)
add_executable(SFMLTest main.cpp)
target_link_libraries(SFMLTest sfml-graphics sfml-audio)
其中SFML命令可以帮助您找到< sfml根前缀>这一行的一部分#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构建的构建文件夹
> cd build
> cmake ..
>在此步骤之后,您将获得名为SFMLTest的可执行文件
>在VS Code中打开项目文件夹.我认为它将自行配置所有内容
>如果仍然无效,则应检查此answer并尝试自行配置包含路径
标签:sfml,c,ubuntu,visual-studio-code 来源: https://codeday.me/bug/20190910/1798893.html