title: Link errors using <filesystem> members in C++17
body: <p>I'm using gcc 7.2 on Ubuntu 16.04, and I need to use the new filesystem library from C++17. Even though there is indeed a library called experimental/filesystem, I can't use any of its members. For example, when I try to compile this file:</p>
  
  <pre><code>#include &lt;iostream&gt;
  #include &lt;string&gt;
  #include &lt;experimental/filesystem&gt;
  using namespace std;
  namespace fs = std::experimental::filesystem::v1;
  
  int main(){
      fs::path p1 = "/usr/share/";
  }
  </code></pre>
  
  <p>I get a compilation error which looks like this:</p>
  
  <pre><code>$ g++-7 test.cpp -std=c++17
  /tmp/ccfsMnlG.o: In function `std::experimental::filesystem::v1::__cxx11::path::path&lt;char [12], std::experimental::filesystem::v1::__cxx11::path&gt;(char const (&amp;) [12])':
  test.cpp:(.text._ZNSt12experimental10filesystem2v17__cxx114pathC2IA12_cS3_EERKT_[_ZNSt12experimental10filesystem2v17__cxx114pathC5IA12_cS3_EERKT_]+0x73): undefined reference to `st
  d::experimental::filesystem::v1::__cxx11::path::_M_split_cmpts()'
  collect2: error: ld returned 1 exit status
  </code></pre>
  
  <p>What am I doing wrong? I don't think there's anything wrong with the code, since I just copy-pasted it from a website. Am I using the wrong version of gcc? Also, why do I need <code>&lt;experimental/filesystem&gt;</code> instead of just <code>&lt;filesystem&gt;</code> in C++17? Thanks in advance.</p>