dll编译后检查发现导出表为空,导出的函数不在里面

arrayboom 发布于 2016/08/23 18:43
阅读 389
收藏 0

写了个简单的ping检测dll导出了ping函数供其他程序调用,但是现在源码中导出了函数却无法使用,检查发现dll文件没有导出任何函数。源码vs2008正常编译求解

// iping.cpp : Defines the entry point for the DLL application.
//
#include "stdafx.h"
#include "ping.h"
extern "C" _declspec(dllexport) int _cdecl ping(char ip,int latency);
extern "C" __declspec(dllexport) int TestFuction(int nType,char *strPath,std::vector<string> &vecData)
{
   ////do anything here////
   return 0;
}
BOOL APIENTRY DllMain( HANDLE hModule, 
                       DWORD  ul_reason_for_call, 
                       LPVOID lpReserved
					 )
{
    return TRUE;
}

ping(char ip,int latency)
{
	int a;
	a=-1;
    a=icmping((const char *)ip,latency);
	return a;
}


源码打包:http://pan.baidu.com/s/1c2IAo2O

加载中
0
h
houj

没有在你的包里看到 iping.def 文件,   应该是这个文件有问题,  没有申明你的导出函数;

或者你也可以删除配置  link->Module defination file   上的那个  .\iping.def 项

0
a
arrayboom

引用来自“houj”的评论

没有在你的包里看到 iping.def 文件,   应该是这个文件有问题,  没有申明你的导出函数;

或者你也可以删除配置  link->Module defination file   上的那个  .\iping.def 项

谢谢,不知道为何我这边精简版的vs2008 extern 方法不能导出,参考一份dll源码进行修改后成功导出,附上正常导出的源码,谢谢!

http://pan.baidu.com/s/1o7X8HPC

返回顶部
顶部