【发布时间】:2015-08-07 15:43:09
【问题描述】:
我在 Eclipse 中创建了一个 DLL,如下所示: 创建了一个 C-Project -> 共享库 (MinGW) -> 名称:testdll 使用简单的 TestFunction 创建了一个头文件和一个源文件 源文件是这样的:
#include <stdio.h>
#include "test.h"
void write(){
printf("hallo von der dll\n");
}
然后我构建它并在调试下创建了一个 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 -> Properties -> C++Build -> Settings -> GCC C Compiler -> Includes -> 添加(从相同项目 usedll 添加 lib-Folder)
然后在 MinGW C Linker -> Libraries -> Libraries - 我添加了字符串 libdll
在库搜索路径下,我从 usedll-Project 添加了 lib 文件夹。
项目现在构建没有错误,但是当我执行它时,写函数没有产生任何输出。
有人看到我做错了吗?
【问题讨论】:
-
您可能希望使用比
write()更独特的名称进行测试。 -
只是出于兴趣 - 你是说添加到 MinGW 库时的 libtestdll 吗?