系统相关
首页 > 系统相关> > c – 将SFML图形库与Visual Studio代码和Ubuntu 18.04一起使用

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