2011-02-18 2 views
1

클래스 (예 : myclass.h/cpp)를 만들었습니다. 여러 곳에서 수업을 사용하고 싶습니다. 따라서, 나는 그 파일을 폴더 (예 : C : \ cpp_include)에 넣고 코드가 무엇이든 상관없이 그 파일을 포함시키고 자한다. 클래스 (예 : main.cpp)를 사용하는 코드가 있습니다. main.cpp에는 myclass가 포함되어 있습니다 :헤더 파일을 별도의 폴더에 포함합니다.

#include "myclass.h" 

.pro 파일과 nmake를 사용하여 컴파일합니다. 내가 NMAKE,에서 MyClass.h이 제대로 포함되어 사용하여 코드를 컴파일 할 때

INCLUDEPATH += C:\cpp_include 

하지만 MyClass.cpp를 컴파일러에 의해 발견하지 않는 것 다음 .PRO 파일에서 I는 폴더를 지정합니다. 언제 .PRO 파일에 소스 파일 중 하나 인 MyClass.cpp를 지정

SOURCES += main.cpp C:\cpp_include\myclass.cpp 

EXE 파일이 제대로 만들어집니다. 그러나 myclass.cpp를 소스 파일로 설정하지 않고 myclass.h가 포함될 때 myclass.cpp 파일을 자동으로 찾을 수 있습니다. 이것이 가능한가? 그것은 Qt와 Qwt의 클래스에서 일어나는 것과 같습니다 (예 : Qt와 Qwt의/src/폴더에있는 .h/cpp 파일). 내가 놓친 게 있니?

고맙습니다.

다이스케

답변

0

간단한 기술은 cpp 디렉토리에 빌드 스크립트 (makefile)를 갖는 것입니다. 빌드 스크립트를 실행하여 디렉토리를 탐색하는 규칙을 작성하십시오. 기능 분리에서 한 걸음 더 나아가 라이브러리 사용을 허용합니다.

0

그건 어떻게 작동하는지. .cpp 파일은 이며, 중요한 파일 인은 헤더 파일 (.h)이 다른 .cpp 파일로 복사됩니다. 따라서 컴파일을 위해 소스에 myclass.cpp를 추가해야합니다. 또는 라이브러리 클래스 인 경우 정적 라이브러리 (.lib)로 컴파일 한 다음 링커 파일에 추가하면됩니다. 그러나 궁극적으로 어떻게 사용되는지 프로젝트에 구현해야합니다.

관련 문제