g를 사용하여 멀티스레드 코드 컴파일: 문제 해결 및 해결 방법 구현
POSIX 스레드 라이브러리에 대한 링크에 필요한 -pthread 플래그를 포함했음에도 불구하고, g 를 사용하여 멀티스레드 코드를 컴파일할 때 오류가 발생할 수 있습니다. "Enable multithreading to use std::thread: Operation not allowed" 오류 메시지는 현재 구성에서 멀티스레딩 기능이 비활성화되어 있음을 나타냅니다.
이 문제를 해결하기 위해 관련 버그 토론에서 제안된 해결 방법에는 -Wl,--no-as-needed 플래그를 컴파일 명령에 추가합니다. 이 플래그는 링커에게 자동 종속성 해결을 수행하지 않도록 지시합니다. 이는 시스템 제공 POSIX 스레드 라이브러리와의 충돌을 해결하는 데 도움이 될 수 있습니다.
g++ main.cpp -o main.out -pthread -std=c++11 -Wl,--no-as-needed
이 해결 방법을 구현하면 성공적으로 컴파일하고 실행할 수 있습니다. g 를 사용하는 멀티스레드 코드.
위 내용은 g에서 \"std::thread를 사용하기 위해 멀티스레딩 활성화: 작업이 허용되지 않음\"이 발생하는 이유와 해결 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!