Настройка Vs Code под Linux
От: Olaiya  
Дата: 30.03.21 12:06
Оценка:
Всем доброго дня!
Подскажите плз, как сделать так, чтобы VS Code увидел библиотeку <filesystem> (С++ 17)?

Вот что пишет в терминале:
g++ -std=c++17 -Wall -Wextra -g -lpthread -lstdc++fs -c src/Configuration.cpp -o src/Configuration.o
In file included from src/Configuration.cpp:1:0:
src/stdafx.h:25:22: fatal error: filesystem: Нет такого файла или каталога
#include <filesystem>

Вроде стандарт С++17 указала, флаг -lstdc++fs тоже (правда, возможно, где-то не там, новичок в этой среде разработки).
filesystem vscode
Re: Настройка Vs Code под Linux
От: Muxa  
Дата: 30.03.21 12:19
Оценка: +3
VS code тут не при делах
посмотри версию компилятора
g++ -v

у него поддержка filesystem появилась не то с 8-ой, не то с 9-ой версии, причем сначала хедер назывался experimental/filesystem
Re[2]: Настройка Vs Code под Linux
От: Olaiya  
Дата: 30.03.21 13:19
Оценка:
Здравствуйте, Muxa, Вы писали:

M>VS code тут не при делах

M>посмотри версию компилятора
M>
M>g++ -v
M>

M>у него поддержка filesystem появилась не то с 8-ой, не то с 9-ой версии, причем сначала хедер назывался experimental/filesystem

Мда...
g++ (Debian 6.3.0-18+deb9u1) 6.3.0 20170516

sudo apt-get install g++-9 не прокатило, видимо надо искать в сторонних репозиториях...

Спасибо за направление, буду копать!
Re[3]: Настройка Vs Code под Linux
От: Muxa  
Дата: 30.03.21 13:43
Оценка:
O>Мда...
O>g++ (Debian 6.3.0-18+deb9u1) 6.3.0 20170516

O>sudo apt-get install g++-9 не прокатило, видимо надо искать в сторонних репозиториях...

Так он рядышком установился, команда g++ так и вызывает 6-ю версию.
Re: Настройка Vs Code под Linux
От: LaptevVV Россия  
Дата: 30.03.21 14:14
Оценка: +1
O>Вроде стандарт С++17 указала, флаг -lstdc++fs тоже (правда, возможно, где-то не там, новичок в этой среде разработки).
У меня на Альте g++ версии 8.4... и т.д. эта библиотека в экспериментальном каталоге.
То есть недостаточно указать С++17, надо еще писать правильно каталог, где лежит filesystem
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[2]: Настройка Vs Code под Linux
От: Olaiya  
Дата: 31.03.21 11:43
Оценка:
Здравствуйте, Muxa, Вы писали:

M>VS code тут не при делах

M>посмотри версию компилятора
M>
M>g++ -v
M>

M>у него поддержка filesystem появилась не то с 8-ой, не то с 9-ой версии, причем сначала хедер назывался experimental/filesystem

проблема решена с помощью правильного подключения
#include <experimental/filesystem>
спасибо огромное!!
Re: Настройка Vs Code под Linux
От: rising_edge  
Дата: 04.04.21 05:10
Оценка:
Здравствуйте, Olaiya, Вы писали:

O>Всем доброго дня!

O>Подскажите плз, как сделать так, чтобы VS Code увидел библиотeку <filesystem> (С++ 17)?

O>Вот что пишет в терминале:

O>g++ -std=c++17 -Wall -Wextra -g -lpthread -lstdc++fs -c src/Configuration.cpp -o src/Configuration.o
O>In file included from src/Configuration.cpp:1:0:
O>src/stdafx.h:25:22: fatal error: filesystem: Нет такого файла или каталога
O> #include <filesystem>

O>Вроде стандарт С++17 указала, флаг -lstdc++fs тоже (правда, возможно, где-то не там, новичок в этой среде разработки).


Вы же только компилируете:
g++ -c src/Configuration.cpp  -o src/Configuration.o

библиотеки тут ни при чём, их надо подключать на этапе линковки. Это во-первых.
Во-вторых, по умолчанию в gcc уже много лет как включен режим --as-needed. Это значит, что имеет значение порядок указания объектов линковки: сначала объектники программы, потом внешние библиотеки.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.