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

时间:2018-06-03 03:46:30

标签: c++ ubuntu visual-studio-code sfml

我已安装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    标签分析器将提供此翻译单元的智能感知功能(/home/userName/Desktop/Temp_Towers_Of_Babel/World_Generation/Main.cpp)。
  无法打开源文件“libsfml-graphics-d.so”
  未找到'libsfml-graphics-d.so'文件

1 个答案:

答案 0 :(得分:0)

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

rotate [1..10] = [2..10] ++ [1]

另一方面,我建议你安装&#34; c / c ++&#34;插件如果你想在VS Code中使用C ++。您可以使用此搜索字词#include <SFML/Graphics.hpp>在市场上找到它。 vscode-cpptools

如果您可以使用g ++从here编译示例代码,这是一个很好的观点。

我认为CMake在正确配置方面也给了我很多帮助。

e.g。这是一个简单的CMakeLists.txt文件。 Here你可以阅读整篇文章。

c/c++

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>

所以我的解决方案建议一步一步:

  1. 安装VS代码c/c++CMake Tools插件
  2. 检查您是否可以使用here
  3. 中的g ++编译示例main.cpp
  4. 将代码snipet添加到项目根文件夹
  5. 中的# set(SFML_DIR "<sfml root prefix>/lib/cmake/SFML")文件中
  6. 使用CMakeList.txt命令安装cmake
  7. 转到项目文件夹并添加包含apt install cmake
  8. 的构建文件夹
  9. mkdir build
  10. cd build
  11. cmake ..在此步骤之后,您将获得名为make
  12. 的可执行文件
  13. 在VS Code中打开项目文件夹。我认为它将自行配置所有内容
  14. 如果仍然无效,请检查此answer并尝试自行配置包含路径