티스토리 뷰

비주얼 스튜디오는 정말 많은 기능을 탑재하고 있습니다.


그중에서도 눈에 띄는 기능으로 원격 빌드가 있습니다.



기본적인 사용 방법은 다음과 같습니다.


https://blogs.msdn.microsoft.com/vcblog/2017/04/11/linux-development-with-c-in-visual-studio/


위 링크에서 제시된 순서대로만 따라한다면 큰 문제는 없을겁니다.


다만 리눅스 상에서 포트를 열어줘야 하고 공유기를 사용한다면 역시 포트포워드도 열어주어야 합니다.


(버추얼머신으로 리눅스 사용하는 경우도 마찬가지 입니다. 저의 경우엔 라즈베리를 활용하여 리눅스 서버를 돌리고 있습니다)



위의 url에서는 기본적인 사용방법만 게재되어 있으며 몇가지 추가적인 기능들을 사용하기 위한 방법들을 안내합니다.



1. 정적 라이브라이브러리 사용하기


솔루션내 프로젝트를 여러개두어 메인 프로젝트르는 exe를 생성하게 하고 나머지는 모두


정적(a;linux or lib;windows) 혹은 동적 라이브러리(lib)로 생성하고 싶습니다. 


이 경우 주의점은 프로젝트 설정에서 정적 라이브러리로 설정해줌과 동시에 


링크를 걸고 종속성에 맞게끔 빌드 순서를 정해주여야 합니다.



프로젝트의 설정에 가시면 다음과 같이 general 속성에서 사진과 같이 설정해줍니다.


목적에 맞게 정적라이브러리와 동적라이브러리 중 하나를 선택합니다.


정적은 라이브러리는 실행파일에 라이브러리의 소스코드가 포함되지만 동적라이브러리는 런타임에 dll을 load하여 


dll, 함수 포인터를 이용하여 dll의 기능들을 사용하게 됩니다.


이에 따른 장단점은 별도로 찾아보시기 바랍니다.


또 원격 경로를 설정해줍니다.


"write_your_ip (username=pi, port=..., authentication=Password)"


output name은 target name에 적어줍니다


리눅스에선 관용적으로 prefix에 lib를 붙이고 확장자는 a로 사용합니다.


따라서 libCommon.a가 생성되게 될것입니다.


또 root dir를 정해주어야 합니다.


이는 home(~)에 적당한 위치를 정해주면 되겠습니다. 


다시말해 현재 프로젝트의 구조와 맞게끔 정해주면 됩니다.



2. 링크하기




C/C++는 컴파일이 끝나 목적파일을 생성하고 이를 링크하여 마지막으로 실행파일을 생성합니다.


따라서 링크할 라이브러리와 경로를 필요하면 지정해주어야 합니다.


빌드옵션으로 -l는 라이브러리 이름이 들어갑니다.


위에서 설명했듯이 lib와 .a는 약속된 규칙이여서 -l 다음으로 Commons만 적어주면 됩니다.


또 -L은 라이브러리의 위치를 링커에게 알려주는 역할을 합니다.


따라서 추가옵션 창에 위와 같이 입력해줍니다.


-L의 경로에 -l의 라이브러리를 찾아 링크하겠단 의미가 됩니다. thread역시 마찬가지인데 경로가 필요 없는 이유는


리눅스에서 선언되어 있는 LD_LIBRARY_PATH에 있는 경로를 참조하기 때문입니다.


https://stackoverflow.com/questions/13428910/how-to-set-the-environmental-variable-ld-library-path-in-linux







마지막으로 다음 linker-input 속성에서 위와같이 추가해줍니다.


이 옵션을 놓쳐서 한참을 빌드하지 못했었지요...




위와 같이 설정하면 성공적으로 빌드를 마칠 수 있을겁니다.


도움이 되길 바랍니다!


'프로그래밍 > IDE' 카테고리의 다른 글

Eclipse JVM terminated Exit code=1 에러 발생 시.  (0) 2017.01.21
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함