CDT编写动态链接库代码相关
最近在windows下使用cdt编写动态链接库
1.首先是导出工程:
1 #define SAMPLE_CLASS_H_
2
3 #ifdef BUILDING_DLL
4 # define EXPORT_API __declspec (dllexport)
5 #else /* BUILDING_DLL */
6 # define EXPORT_API __declspec (dllimport)
7 #endif /* Not BUILDING_DLL */
8
9 class EXPORT_API SampleClass{
10 public:
11 SampleClass();
12 virtual ~SampleClass();
13 void func();
14 static void staticFunc();
15 };
16
17 #endif
导出工程中定义BUILDING_DLL,引用工程不定义
c++链接器时需加入 -shared -Wl,--out-implib=libSampleClass.a
2.引用工程:
使用 #include "SampleClass.h"
就可以使用导出类了
调式时需要把DLL文件拷贝到调用工程可执行文件相同目录下,或者将DLL文件所在目录加入系统PATH目录
一般使用Post Build功能拷贝一下DLL文件到需要的目录
最后编译时记得要加入 -llibSampleClass -L"DLLPATH"
3.在eclipse中如果有跨工程的文件引用。在一个工程中类定义的修改变化在另外工程的代码提示功能可能无法及时更新过来
这时就需要手动更新工程的Index。方法是右键工程->Index->Rebuild,这时就会重新加载Include文件更新代码提示