首页 文章

使用SFML图形库与Visual Studio代码和Ubuntu 18.04

提问于
浏览
1

我已安装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 回答

  • 0

    如果您想包括例如SFML图形,为什么不尝试这种方式?

    #include <SFML/Graphics.hpp>

    另一方面,如果您想在VS Code中使用C,我建议您安装"c/c++"插件 . 您可以使用此搜索字词 c/c++ 在市场上找到它 . vscode-cpptools

    如果你能用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)
    

    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并尝试自己配置包含路径

相关问题