experimental::filesystem에 대한 링커 오류
gcc 6.0의 현재 개발 버전에서 새로운 c 1z 기능을 활용하려고 하면 예제 프로그램에서 링커 오류가 발생했습니다.
#include <iostream> #include <experimental/filesystem> namespace fs = std::experimental::filesystem; int main() { fs::path p1 = "/home/pete/checkit"; std::cout << "p1 = " << p1 << std::endl; }
다음과 같은 결과가 발생합니다. 오류:
/opt/linux-gnu_6-20151011/bin/g++ --std=c++1z main.cpp -O2 -g -o go /tmp/ccaGzqFO.o: In function \`std::experimental::filesystem::v1::__cxx11::path::path(char const (&) [36])': /opt/linux-gnu_6-20151011/include/c++/6.0.0/experimental/bits/fs_path.h:167: undefined reference to `std::experimental::filesystem::v1::__cxx11::path::_M_split_cmpts()' collect2: error: ld returned 1 exit status
해결 방법
파일 시스템 TS는 C 1z 지원과 다르며 C 1z 작업 초안의 일부가 아닙니다. -lstdc fs를 사용하여 라이브러리에 액세스하면 연결 문제를 해결할 수 있습니다.
업데이트
위 내용은 GCC 6.0에서 `std::experimental::filesystem`을 사용할 때 링커 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!