我在 eclipse 中创建了一个 DLL,如下所示: 创建了一个 C 项目 -> 共享库 (MinGW) -> 名称:testdll 使用简单的 TestFunction 创建了一个头文件和一个源文件 源文件是这样的:
#include <stdio.h>
#include "test.h"
void write(){
printf("hallo von der dll\n");
}
然后我构建它并在 Debug 下创建了一个 libtestdll.dll。 到目前为止,这对我来说看起来不错。
现在我创建了一个名为 usedll 的 C-Hello World-Project。 该文件如下所示:
#include <stdio.h>
#include <stdlib.h>
#include "test.h"
int main(void) {
puts("!!!Hello World!!!"); /* prints !!!Hello World!!! */
write();
printf("done\n");
return EXIT_SUCCESS;
}
我在 usedll 项目下创建了一个 lib-Folder。我将 libtestdll.dll 和 test.h 复制到此文件夹中。
右键单击项目 usedll -> 属性 -> C++Build -> 设置 -> GCC C 编译器 -> 包含 -> 添加(从同一项目 usedll 添加 lib 文件夹)
然后在 MinGW C Linker -> Libraries -> Libraries - 我添加了字符串 libdll
在 Library Search Path 下,我添加了 usedll-Project 中的 lib 文件夹。
项目现在构建没有错误,但是当我执行它时,写函数没有产生任何输出。
有人看到我做错了吗?
最佳答案
请阅读此...
http://www.mingw.org/wiki/sampledll
我将在下面添加一个片段,但我觉得您可能没有导出函数,阅读上面的内容将解释如何执行此操作(使用 MinGW)。
(此片段直接取自上述网页)
#ifdef BUILDING_EXAMPLE_DLL
#define EXAMPLE_DLL __declspec(dllexport)
#else
#define EXAMPLE_DLL __declspec(dllimport)
#endif
void __stdcall EXAMPLE_DLL hello(const char *s);
请注意使用__declspec(dllexport)和__declspec(dllimport)
关于c - 如何创建 DLL 并将其与 Eclipse for C 一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31871456/