2017-09-14 25 views
0

Visual Studio 2017 C++ 교차 플랫폼 프로젝트 (Linux)에서 작업하고 있습니다. 하나의 실행 가능한 프로젝트를 컴파일하고 실행할 수있었습니다.VS2017이 원격 env (linux)에 추가 포함 디렉토리를 복사하지 않아 컴파일 오류가 발생합니다.

이제 두 개의 C++ 프로젝트를 만들었습니다. 하나는 정적 라이브러리이고 다른 하나는 동적 라이브러리입니다. 동적 라이브러리는 정적 라이브러리의 클래스를 사용하므로 클래스 정의가 들어있는 해당 헤더 파일에 #include 문이 있습니다. 헤더 파일을 찾을 수 없다는 컴파일이 실패합니다. 프로젝트 등록 정보 (일반적으로 Windows vC++ 프로젝트에서 작동)에 Include 디렉토리를 추가 Include 디렉토리에 추가했습니다. 그러나 헤더 파일이 원격 Linux 환경 (WSL)에 복사되지 않은 것처럼 보입니다.

추가 포함 디렉토리가 발명 된 이유가 있기 때문에 동적 라이브러리 프로젝트에 포함 파일을 추가하고 싶지 않습니다.

추가 인클루드 디렉터리를 원격 환경에 복사하도록 빌드를 구성 할 수 있습니까?

답변

0

추가 인클루드 디렉토리를 통해 참조되는 파일은 이미 Linux 원격 디렉토리에있을 것으로 예상됩니다. VCLinux는이 파일들을 복사하지 않습니다. 솔직하게 말하면 추가 패키지는 종종 제 3 자 패키지이기 때문에 원하지 않을 것입니다.

정적 라이브러리를 작성한 경우 헤더를 비롯한 소스가 Linux 리모컨에 표시됩니다. 프로젝트 설정을 통해 Linux 시스템에서 정적 라이브러리 헤더 및 라이브러리에 대한 경로를 지정하십시오.

+0

고마워요! 말이된다. 그걸 시험해 볼거야. –

+0

경로를 지정하려고했지만 제대로 작동하지 않습니다. 다음 링크는 문제를 매우 정확하게 설명하고 제안 된 해결책은 나를 위해 일했습니다 : https://developercommunity.visualstudio.com/content/problem/40127/additional-include-folders-problems-for-linux-proj.html. 더 좋은 방법이 있습니까? –

+0

링크 된 보고서는 원격 경로를 잘 지정하는 문제를 설명합니다. 그리고 VCLinux GitHub 사이트 (https://github.com/Microsoft/VSLinux/issues/68)에 공개 된 문제가 있습니다. 현재 VS2017 15.4 미리보기 2.0에서는 문제가 해결되지 않습니다. 우리는 이걸로 더 오래 살아야하는 것처럼 보입니다. – stanthomas