Устранена странная проблема включения с кодом VS на Ma c ОС Mojave 10.14.6.
обнаружены ошибки. Пожалуйста, обновите ваш includePath. Squiggles отключены для этого модуля перевода "(зависимость от" iostream ") Обратите внимание, что это начало происходить сразу после того, как я обновил мой MacOS CommandLineTools на xcode-select --install
. Мой путь к компилятору находится в VS Код: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++
И мой includePath ${workspaceFolder}/**
${BOOST_ROOT}/**
, когда я добавляю /Library/Developer/CommandLineTools/usr/include/c++/v1/**
к своему includePath и изменяю путь к компилятору на /usr/bin/g++
, проблемы с STL включают go, и я получаю это: cannot open source file "boost/lambda/lambda.hpp"
Обратите внимание, что когда я собираю программу из командной строки, она работает отлично; все найдено, как и должно быть. Это мой Makefile: PROG = sim
CC = g++
CPPFLAGS = -g -Wall -I$(SDIR) -I$(ODIR) -I$(BOOST_ROOT)
ODIR = ./bin
SDIR = ./src
OBJS = $(ODIR)/main.o
$(PROG) : $(OBJS)
$(CC) $(CPPFLAGS) -o $(PROG) $(OBJS)
$(ODIR)/%.o : $(SDIR)/%.cpp
$(CC) $(CPPFLAGS) -c $< -o $@
вывод из бега make
: g++ -g -Wall -I./src -I./bin -I/usr/local/boost_1_72_0 -c src/main.cpp -o bin/main.o
g++ -g -Wall -I./src -I./bin -I/usr/local/boost_1_72_0 -o sim ./bin/main.o
И моя простая программа main . cpp: #include <iostream>
#include <boost/lambda/lambda.hpp>
int main()
{
using namespace boost::lambda;
std::cout << "Hello World!\n";
return 0;
}
Это не проблема do-or-d ie; Я действительно просто удивляюсь, почему VS Code не может правильно найти заголовки включения. Мой код все еще работает, но красные кривые очень раздражают, когда они не точны. Я бы предпочел не отключать их, потому что, когда они правы, они полезны. Если это неправильное место для публикации этой проблемы, пожалуйста, дайте мне знать; Я могу опубликовать это где-нибудь еще. Дайте мне знать, если вам нужно больше подробностей. Заранее спасибо за помощь. Приветствия