Boost logo

Boost Users :

From: Stefano Gragnani (stefano.gragnani_at_[hidden])
Date: 2020-10-12 13:25:12


Hi,

how should i configure vs code to use Boost?

I tried to compile the following example:

#include <iostream>
#include <boost/multiprecision/float128.hpp>
#include <boost/math/special_functions/gamma.hpp>

int main()
{
   using namespace boost::multiprecision;

   // Operations at 128-bit precision and full numeric_limits support:
   float128 b = 2;
   // There are 113-bits of precision:
   std::cout << std::numeric_limits<float128>::digits << std::endl;
   // Or 34 decimal places:
   std::cout << std::numeric_limits<float128>::digits10 << std::endl;
   // We can use any C++ std lib function, lets print all the digits as well:
   std::cout << std::setprecision(std::numeric_limits<float128>::max_digits10)
      << log(b) << std::endl; // print log(2) = 0.693147180559945309417232121458176575
   // We can also use any function from Boost.Math:
   std::cout << boost::math::tgamma(b) << std::endl;
   // And since we have an extended exponent range we can generate some really large
   // numbers here (4.02387260077093773543702433923004111e+2564):
   std::cout << boost::math::tgamma(float128(1000)) << std::endl;
   //
   // We can declare constants using GCC or Intel's native types, and the Q suffix,
   // these can be declared constexpr if required:

   constexpr float128 pi = 3.1415926535897932384626433832795028841971693993751058Q;

   return 0;
}

but that's what I get:

Executing task: g++-10 -g -std=c++17 '-fext-numeric-literals' main.cpp -L/usr/local/Cellar/gcc/10.2.0/lib/gcc/10/ -lquadmath -o main.out <

main.cpp:2:10: fatal error: boost/multiprecision/float128.hpp: No such file or directory
    2 | #include <boost/multiprecision/float128.hpp>
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
The terminal process "/bin/zsh '-c', 'g++-10 -g -std=c++17 '-fext-numeric-literals' main.cpp -L/usr/local/Cellar/gcc/10.2.0/lib/gcc/10/ -lquadmath -o main.out'" failed to launch (exit code: 1).

My task.json is:

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558 <https://go.microsoft.com/fwlink/?LinkId=733558>
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
    {
      "label": "Build with g++ 10",
      "type": "shell",
      "command": "g++-10",
      "args": [
        "-g",
        "-std=c++17",
        "'-fext-numeric-literals'",
        "main.cpp",
        "-L/usr/local/Cellar/gcc/10.2.0/lib/gcc/10/",
        "-lquadmath",
        "-o",
        "main.out"
      ],
      "group": {
        "kind": "build",
        "isDefault": true
      }
    },
    {
      "label": "Build with Intel ICC",
      "type": "shell",
      "command": "icc",
      "args": [
        "-g",
        "-std=c++17",
        "main.cpp",
        "-o",
        "main.out"
      ],
      "group": {
        "kind": "build",
        "isDefault": true
      }
    },
    {
      "label": "Run Project",
      "type": "shell",
      "command": "./main.out",
      "group": {
          "kind": "build",
          "isDefault": true
      }
  }
  ]
}

And my c_cpp_properties.json is:

{
    "configurations": [
        {
            "name": "Mac",
            "includePath": [
                "${workspaceFolder}/**",
                "/usr/local/Cellar/boost/1.73.0/include/**"
            ],
            "defines": [],
            "macFrameworkPath": [],
            "compilerPath": "/usr/local/bin/g++-10",
            "cStandard": "gnu18",
            "cppStandard": "gnu++14",
            "intelliSenseMode": "gcc-x64"
        }
    ],
    "version": 4
}

Thanks
Stefano Gragnani



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net