이 오래된 게시물입니다. 그러나 나는 최근에 같은 문제를 발견하고 @ HEKTO의 대답에 기초한 대안을 발견했다.
필자는 대형 스파 스 매트릭스 시스템을 해결하기 위해 라이브러리 인 PETSc를 사용합니다. 빌드 시스템은 두 환경 변수에 의존하는 makefile에 "include"를 사용하도록 요구합니다 : PETSC_DIR과 PETSC_ARCH는 여러분의 환경에서 설정되어야합니다 ... 아니면 make 명령에 옵션으로 전달할 수 있습니다 !! 이것이 내가 한 일이다.
내가 넷빈즈에 의해 생성 된 메이크 파일을 가져다가 맨 끝에 내 포함 추가 :이 PETSC_DIR의 정의에 따라 달라
include ${PETSC_DIR}/conf/variables
공지 사항. 또한 여기에는 PETSC_ARCH가 대량으로 사용됩니다.
이제는 NetBeans에서 다음 변수를 전달하도록 구성합니다. 도구 -> 옵션 : "프로젝트 옵션"탭에서 "옵션 만들기"텍스트 상자를 채 웁니다. PETSC_DIR =/path/to/petsc PETSC_ARCH = some-arch
또한 이제 환경 옵션 및 프로젝트 옵션에서 $ {PETSC_DIR}/conf/variables에 정의 된 다른 환경 변수를 사용할 수 있습니다.예를 들어, 내 포함 파일의 경우 : "C 컴파일러"에서 "디렉터리 포함"$ {PETSC_DIR}/include
그리고 "링커" , "Libraries": $ {PETSC_LIB} (위의 include 파일에 정의되어 있음).
이제 NetBeans 내에서 프로젝트를 만들고 실행할 수 있습니다. PETSc 버전이 변경된 경우 make가 전달한 변수의 정의 만 변경하면 나머지는 모두 해결됩니다.
누군가에게 도움이되기를 바랍니다. 그것은 확실히 나를 위해 일했습니다. 그리고 멋진 부분은 제 코드를 다른 사람들에게 줄 수 있고, 평소와 같이 "make"를 사용하여 커맨드 라인에서 컴파일하고 (NetBeans없이) 위의 환경 변수를 정의 할 수 있다는 것입니다. 컴파일에는 하드 코딩 된 경로가 없습니다.
파일마다 컴파일 옵션을 지정할 수 있으므로 파일을 마우스 오른쪽 버튼으로 클릭하면 'c'파일 또는 'C++'파일로 지정할 수 있습니다 ... 컴파일러를 선택하려면 '툴킷'을 만들어야합니다 . – Mikhail
@Mikhail 이것은 맞춤 메이크 파일이므로 Netbeans은 파일마다 아무 것도 할 수 없습니다. – Potatoswatter
아마도 메이크 파일을 바꿀 수 있습니까? 또한 makefile에 대한 사용자 정의 호출을 수행하지만 올바른 도구 세트를 선택해야한다고 생각합니다. – Mikhail