VisualStudio2017에서 Linux 앱의 원격 디버깅 환경을 사용하는 데 발생한 문제와 해결
2366 단어 C++VisualStudio2017C리눅스
소개
이전에 작성한 기사 (VisualStudio2017에서 Linux 앱의 원격 디버그) 환경을 사용하는 데 발생한 문제와 그 해결을 몇 가지 남겨두고 싶습니다.
컴파일 할 수 없다
원인
GNU C 라이브러리를 업데이트하는 등의 원인으로 빌드시 필요한 파일을 찾을 수 없어 컴파일 오류가 발생한 것 같습니다.
해결책
GNU C 라이브러리 (libc) 관련을 업데이트/설치 한 후 다시 시작하여 해결되었습니다.
다음 명령으로 패키지를 업데이트하는 것이 가장 빠르다고 생각됩니다.
sudo apt update
sudo apt upgrade
개별적으로 필요한 것만 설치를 하고 싶은 경우는 아마 이하로 갈 수 있다고 생각합니다. (이것은 과부족일지도 모릅니다.)
sudo apt update
sudo apt install libc6-dev
sudo apt install libc6-amd64
sudo apt install libc6-dev-amd64
sudo apt install build-essential
루트 권한이 필요한 코드를 실행할 수 없음
원인
표제대로입니다.
pthread의 FIFO 스케줄링을 사용하려고 할 때 루트 권한이 필요합니다.
그러나 이전 기사의 환경에서 실행하면 루트 권한으로 실행할 수 없기 때문에 생각대로 작동하지 않습니다.
해결책
비교적 강한 조치이지만, 단순히 ssh 연결에 루트 사용자를 허용하도록했습니다.
"/etc/ssh/sshd_config"의 "PermitRootLogin"을 "yes"로 변경.
다음 명령으로 루트 사용자의 비밀번호 설정
sudo passwd root
VS2017 측에서 ssh 대상에 루트 사용자를 추가하고 나중에 사용합니다.
정적 라이브러리에 연결할 수 없음
원인
전회 기사에 기재한 개소에 「-l◯◯」를 기재하는 경우, 컴파일 옵셔로서는 컴파일 대상의 소스 코드의 기재보다 전에 기재되어 버립니다.
따라서 math 라이브러리 등의 컴파일 대상 소스 파일의 기재보다 나중에 라이브러리의 링크 옵션을 기재하지 않으면 안되는 라이브러리의 링크를 할 수 없게 되어 버립니다.
해결책
「프로젝트의 프로퍼티」→「링커」→「모든 옵션」→「추가의 의존 파일」의 뒤에 「-l〇〇」을 추가하는 것으로, 코드 파일의 기재보다 나중에 전개되므로, 문제없이 컴파일을 할 수 있습니다.
[참고]
htps : // bgs. msd 응. mic로소 ft. m/vcbぉg/2016/03/30/ゔぃすあlcーぉrーぃぬxーゔぇぉp멘t/#ゔぇr보세
Reference
이 문제에 관하여(VisualStudio2017에서 Linux 앱의 원격 디버깅 환경을 사용하는 데 발생한 문제와 해결), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/nyasai/items/fc2e201f6728162cd0fa
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
원인
GNU C 라이브러리를 업데이트하는 등의 원인으로 빌드시 필요한 파일을 찾을 수 없어 컴파일 오류가 발생한 것 같습니다.
해결책
GNU C 라이브러리 (libc) 관련을 업데이트/설치 한 후 다시 시작하여 해결되었습니다.
다음 명령으로 패키지를 업데이트하는 것이 가장 빠르다고 생각됩니다.
sudo apt update
sudo apt upgrade
개별적으로 필요한 것만 설치를 하고 싶은 경우는 아마 이하로 갈 수 있다고 생각합니다. (이것은 과부족일지도 모릅니다.)
sudo apt update
sudo apt install libc6-dev
sudo apt install libc6-amd64
sudo apt install libc6-dev-amd64
sudo apt install build-essential
루트 권한이 필요한 코드를 실행할 수 없음
원인
표제대로입니다.
pthread의 FIFO 스케줄링을 사용하려고 할 때 루트 권한이 필요합니다.
그러나 이전 기사의 환경에서 실행하면 루트 권한으로 실행할 수 없기 때문에 생각대로 작동하지 않습니다.
해결책
비교적 강한 조치이지만, 단순히 ssh 연결에 루트 사용자를 허용하도록했습니다.
"/etc/ssh/sshd_config"의 "PermitRootLogin"을 "yes"로 변경.
다음 명령으로 루트 사용자의 비밀번호 설정
sudo passwd root
VS2017 측에서 ssh 대상에 루트 사용자를 추가하고 나중에 사용합니다.
정적 라이브러리에 연결할 수 없음
원인
전회 기사에 기재한 개소에 「-l◯◯」를 기재하는 경우, 컴파일 옵셔로서는 컴파일 대상의 소스 코드의 기재보다 전에 기재되어 버립니다.
따라서 math 라이브러리 등의 컴파일 대상 소스 파일의 기재보다 나중에 라이브러리의 링크 옵션을 기재하지 않으면 안되는 라이브러리의 링크를 할 수 없게 되어 버립니다.
해결책
「프로젝트의 프로퍼티」→「링커」→「모든 옵션」→「추가의 의존 파일」의 뒤에 「-l〇〇」을 추가하는 것으로, 코드 파일의 기재보다 나중에 전개되므로, 문제없이 컴파일을 할 수 있습니다.
[참고]
htps : // bgs. msd 응. mic로소 ft. m/vcbぉg/2016/03/30/ゔぃすあlcーぉrーぃぬxーゔぇぉp멘t/#ゔぇr보세
Reference
이 문제에 관하여(VisualStudio2017에서 Linux 앱의 원격 디버깅 환경을 사용하는 데 발생한 문제와 해결), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/nyasai/items/fc2e201f6728162cd0fa
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
sudo passwd root
원인
전회 기사에 기재한 개소에 「-l◯◯」를 기재하는 경우, 컴파일 옵셔로서는 컴파일 대상의 소스 코드의 기재보다 전에 기재되어 버립니다.
따라서 math 라이브러리 등의 컴파일 대상 소스 파일의 기재보다 나중에 라이브러리의 링크 옵션을 기재하지 않으면 안되는 라이브러리의 링크를 할 수 없게 되어 버립니다.
해결책
「프로젝트의 프로퍼티」→「링커」→「모든 옵션」→「추가의 의존 파일」의 뒤에 「-l〇〇」을 추가하는 것으로, 코드 파일의 기재보다 나중에 전개되므로, 문제없이 컴파일을 할 수 있습니다.
[참고]
htps : // bgs. msd 응. mic로소 ft. m/vcbぉg/2016/03/30/ゔぃすあlcーぉrーぃぬxーゔぇぉp멘t/#ゔぇr보세
Reference
이 문제에 관하여(VisualStudio2017에서 Linux 앱의 원격 디버깅 환경을 사용하는 데 발생한 문제와 해결), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/nyasai/items/fc2e201f6728162cd0fa텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)