VisualStudio2017에서 Linux 앱의 원격 디버깅 환경을 사용하는 데 발생한 문제와 해결

소개



이전에 작성한 기사 (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보세

좋은 웹페이지 즐겨찾기