2011-10-18 2 views
0

깨끗한 파일 시스템 계층 구조를 가진 리눅스에서 Windows로 옮겨 가면서, 컴파일러와 관련 라이브러리, sysfs와 같은 sysfs와 같은 하나 이상의 전용 폴더를 설정하고 싶습니다. 이것을하는 우아한 방법을 찾고 싶습니다.하이브리드 개발 환경

저는 주로 C/C++ java 및 python을 사용하여 개발합니다. 심지어 C++ 프로젝트의 경우 Visual Studio 및 mingw로 구축 된 라이브러리를 관리하는 것이 쉽지 않습니다. 나는 전에이 주제로 일한 경험을 공유하고자합니다. 예를 들어 par 아키텍처 (ia32 x86_64 등)마다 컴파일러마다 전용 개발 트리를 설정하거나 설치 프로그램을 따라 프로그램 \/파일에 모든 것을 넣는 등의 작업을 수행합니까?

내가 과거에 본 적이 무엇

+1

그건 sysfs가하는 것이 아닙니다. – millimoose

+0

또한 "하이브리드"개발을 통해 여러 언어를 사용하는 프로젝트 또는 여러 환경에서 빌드 할 수 있어야하는 C++ 프로젝트를 의미합니까 아니면 세 가지 플랫폼 모두에서 프로젝트에서 작업하는 것입니까? – millimoose

답변

0

이 같은 프로젝트입니다 사전에 감사합니다 :

MyProject \ 
     docs \ 
     source\ 
      includes\ 
     tests \ 
     targets \ 
      gcc\ 
      xcode\ 
      vs2008\ 
      vs2010\ 
       MyProject\ 
       Debugx86\ 
       Debugx64\ 
       Releasex86\ 
       Releasex64\ 

이 모든 컴파일러는, 자신의 프로젝트 파일은 별도로 보관 할 수 있고, 모두 같은 소스를 사용 . 이것은 또한 컴파일러/아키텍처 간의 우발적 인 교차 연결을 방지합니다.

+0

저는 OP가 컴파일러 바이너리 (예 : gcc.exe 등) 및 라이브러리 파일을 프로젝트 파일이 아닌 다른 곳에 배치하는 방법을 묻는 질문을하고 있습니다. – Mac

+0

나는 그것이 두 번째 부분인데, 두 번째 부분이 이것을 묻고있는 것처럼 보인다고 생각했습니다. 첫 번째 부분에 대한 대답은 "바이너리가 어디에 있는지 누가 신경니까?" –

0

정확히는 아니지만 Linux gcc/make에서 MSVS 로의 변환 중입니다. 패러다임 전환은 까다로울 수 있습니다. 지난 주에 aha을 공유 할 예정입니다. 순간.


MSVS는 모두 프로젝트 메타 데이터에 절대 경로 이름을 저장하려고합니다. 예를 들어 예를 들어 보려고하면 좌절감이 생깁니다. 다른 컴퓨터로 이동하십시오. 매크로 기능을 사용하면 추가 포함 또는 라이브러리 디렉토리와 같은 장소에서 다양한 루트 디렉토리를 기호로 지정할 수 있습니다. 그것을 써.

0

나는 대개 VS, Qt/mingw 등 자신이 원하는 곳에 설치하도록합니다. 즉 기본값을 유지합니다. 내 src-code-tree 및 build-tree에 관해서는, 나는 항상 많은 시간을 소비하고 그것을 설정하는 것을 생각했다. IDE (VS2008 가장 최근의 경우)로 실험을 시작하고 기본 동작을 관찰 한 다음 내 src-tree 및 bld-free를 디자인합니다.

C : \ PRJ \ common_lib_cpp C : \ PRJ \ common_lib_cpp \ LIB1 C : \ PRJ \ common_lib_cpp \ LIB2 C : \ PRJ \ common_lib_csharp C : \ PRJ VS2008로 지금까지 상대적으로 간단한 배열을 사용하여 \ common_lib_csharp \ lib3 C : \ PRJ \ my_exe_prj1 C : \ PRJ \ my_exe_prj2

내가 아니라 많이, 조금 지나치게 단순화하고 있습니다. 이것은 6 개월 이상 나를 위해 잘 작동하고 큰 문제는 없습니다. 얼마 전에 Nuance에서 일했을 때 src-tree는 매우 조심스럽게 설계되었으며 make 기반 빌드 시스템은 크고 복잡하며 견고했습니다. Windows와 Linux (여러 가지 맛) 빌드는 동일한 src-tree를 사용했습니다. 이것은 실제로 매우 어려운 작업입니다. Adrian Neagu (Nuance)는이 주제에 대해 좋은 블로그/웹 기사를 사용했습니다.