Home > OS >  Asio .hpp not found in VSCode, but is included in path
Asio .hpp not found in VSCode, but is included in path

Time:01-11

I'm trying to use asio in VSCode with C . I keep getting the warning:

fatal error: 'asio.hpp' file not found #include <asio.hpp>

Using the code:

#include <iostream>

#include <asio.hpp>
#include <asio/ts/buffer.hpp>
#include <asio/ts/internet.hpp>

int main(){

    asio::error_code ec;

    //Create a 'context which is like a platform specific interface
    asio::io_context context;

    //Get the address of somewhere we wish to connect to
    asio::ip::tcp::endpoint endpoint(asio::ip::make_address("93.184.216.34", ec),80);



    return 0;
}

In the include path UI settings, I have the following paths listed which should take care of things:

${workspaceFolder}/**
/opt/homebrew/Cellar/asio/**
/opt/homebrew/Cellar/asio/1.24.0_1/include
/opt/homebrew/Cellar/boost/**
/opt/homebrew/Cellar/boost/1.81.0/include/boost
/opt/homebrew/Cellar/boost/1.81.0/include
/Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk/usr/include

(there are redundant paths here but I am trying everything at this point)

Finally, it should be able to find the file since the file is there: ls /opt/homebrew/Cellar/asio/1.24.0_1/include ls /opt/homebrew/Cellar/asio/1.24.0_1/include Gives:

/opt/homebrew/Cellar/asio/1.24.0_1/include: asio asio.hpp

I would expect it to just find those files. I have also installed boost using brew. It is available at the boost path included.

I am using Mac M1 with Monterey 12.5.1, and VSCode Version: 1.74.2.

Thanks for the help!

CodePudding user response:

The includePath element in the json file is for intelliSense and not your compiler. If you aren't using CMake you will have to go into tasks.json, there you can specify additional compiler flags.

You want to add a flag: -Ipath/to/asio.

  • Related