在 Visual Studio Code 和 Ubuntu 18.04 中使用 SFML 图形库
Posted
技术标签:
【中文标题】在 Visual Studio Code 和 Ubuntu 18.04 中使用 SFML 图形库【英文标题】:Using SFML Graphical Library with Visual Studio Code and Ubuntu 18.04 【发布时间】:2018-06-03 03:46:30 【问题描述】:我已安装 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 Code 中的用户设置:
"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) 的 IntelliSense 功能将由标记解析器提供。 无法打开源文件“libsfml-graphics-d.so” 找不到“libsfml-graphics-d.so”文件
【问题讨论】:
【参考方案1】:如果您想包含例如 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)
whereis SFML
命令可以帮你找到# set(SFML_DIR "<sfml root prefix>/lib/cmake/SFML")
这一行的<sfml root prefix>
部分# set(SFML_DIR "<sfml root prefix>/lib/cmake/SFML")
所以我的解决方案建议一步一步来:
-
安装 VS Code c/c++ 和 CMake Tools 插件
检查您是否可以使用来自here 的 g++ 编译示例 main.cpp
将代码片段添加到项目根文件夹中的
CMakeList.txt
文件中
使用apt install cmake
命令安装cmake
转到您的项目文件夹并添加带有mkdir build
的构建文件夹
cd build
cmake ..
make
在这一步之后你会得到一个名为SFMLTest
的可执行文件
在 VS Code 中打开项目文件夹。我认为它会自行配置所有内容
如果还是不行,你应该检查这个answer并尝试自己配置包含路径
【讨论】:
以上是关于在 Visual Studio Code 和 Ubuntu 18.04 中使用 SFML 图形库的主要内容,如果未能解决你的问题,请参考以下文章
Visual Studio 开发:安装配置Visual Studio Code
visual studio 和visual studio code 的区别
visual studio 和visual studio code 的区别
visual studio 和visual studio code 的区别是啥
2015版Visual Studio Code和Visual Studio Community的区别
开发环境安装 Visual Studio Code 开发环境 ( 下载 Visual Studio Code 安装器 | Visual Studio Code )