Использование графической библиотеки SFML с кодом Visual Studio и Ubuntu 18.04 - PullRequest
0 голосов
/ 03 июня 2018

Я установил SFML, но код Visual Studio не может найти библиотеку.Я действительно новичок в 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>":

# включает обнаруженные ошибки.Обновите ваш includePath.
Функции IntelliSense для этого модуля перевода (/home/userName/Desktop/Temp_Towers_Of_Babel/World_Generation/Main.cpp) будут предоставлены анализатором тегов.
Невозможно открыть исходный файл "libsfml-graphics-d.so "
'libsfml-graphics-d.so' файл не найден

1 Ответ

0 голосов
/ 12 июня 2018

Если вы хотите включить, например, графику SFML, почему бы вам не попробовать этот способ?

#include <SFML/Graphics.hpp>

С другой стороны, я рекомендую вам установить плагин "c / c ++", если вы хотите работать с C ++ в VS Code.Вы можете найти его на рынке с этим поисковым запросом c/c++. vscode-cpptools

Если вы можете скомпилировать пример кода из здесь с помощью g ++, это хороший момент.

Я думаю, что CMake также поможет мнемного в связи с правильной конфигурацией.

Например, это простой файл CMakeLists.txt. Здесь Вы можете прочитать всю статью.Команда

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")

Итак, мое предложение по решению шаг за шагом:

  1. Установить VS Code c / c ++ и CMake Tools plugins
  2. Проверьте, что вы можете скомпилировать пример main.cpp с g ++ из здесь
  3. Добавьте фрагмент кода в файл CMakeList.txt в корневой папке проекта
  4. Установите cmake с помощью команды apt install cmake
  5. Перейдите в папку проекта и добавьте папку сборки с помощьюmkdir build
  6. cd build
  7. cmake ..
  8. make после этого шага вы получите исполняемый файл с именем SFMLTest
  9. Откройтепапка проекта в VS Code.Я думаю, что он все настроит сам
  10. Если он все еще не работает, вы должны проверить этот ответ и попытаться настроить путь включения самостоятельно
...