2011-02-18 117 views
1

我创建了一个类(比如myclass.h/cpp)。我想从许多不同的地方使用课程。因此,我将这些文件放在一个文件夹中(比如C:\ cpp_include),我想从我的代码所在的文件夹中包含它们。我有一个使用类的代码(比如main.cpp)。在main.cpp中,我包含myclass:将头文件包含在单独的文件夹中

#include "myclass.h" 

我使用.pro文件和nmake进行编译。在.pro文件,我指定的文件夹为:

INCLUDEPATH += C:\cpp_include 

当我编译使用NMAKE,myclass.h正确包含的代码,但myclass.cpp似乎并没有被编译器发现。 当我指定myclass.cpp为.pro文件的源文件之一:

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),并将其添加到链接器文件中。但是你最终需要以某种方式将你的实现包含在它所使用的项目中。