undefined reference to `Module32First@8'??

selooloo 2010-03-22 10:32:49
程序如下:

#include <windows.h>
#include <tlhelp32.h>
#include <iostream>
using namespace std;

int main(void)
{
MODULEENTRY32 me32={0};
HANDLE hModuleSnap=::CreateToolhelp32Snapshot(TH32CS_SNAPMODULE,0);

if(hModuleSnap==INVALID_HANDLE_VALUE)
return -1;
me32.dwSize=sizeof(MODULEENTRY32);
if(::Module32First(hModuleSnap,&me32))
{
do
{
cout<<me32.szExePath<<"\n";
cout<<" 模块在本进程中的地址:"<<me32.hModule<<"\n";
}
while(Module32Next(hModuleSnap,&me32));
}
::CloseHandle(hModuleSnap);
system("pause");
return 0;
}


错误信息:undefined reference to `Module32First@8'
undefined reference to `Module32Next@8'

用的DEV编译器,已经#include <tlhelp32.h>,还显示未定义?
...全文
119 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuzl32 2010-03-23
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 selooloo 的回复:]
引用 8 楼 yuzl32 的回复:
while(::Module32Next(hModuleSnap,&amp;me32));


有没有::结果都一样啊
[/Quote]
看样子kernel32.dll库没有被自动加载进去,奇怪了。
selooloo 2010-03-23
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 yuzl32 的回复:]
while(::Module32Next(hModuleSnap,&me32));
[/Quote]

有没有::结果都一样啊
selooloo 2010-03-22
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 thefirstz 的回复:]
codeblocks正常啊~~

C/C++ code
D:\CodeBlocks\Projects\Hello_Cpp\bin\Debug\Hello_Cpp.exe
模块在本进程中的地址:0x400000
C:\WINDOWS\system32\ntdll.dll
模块在本进程中的地址:0x7c920000
C:\WINDOWS\system32\kernel32.dll
……
[/Quote]

难道是编译器问题。。
selooloo 2010-03-22
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 xiuxianshen 的回复:]
#include <tlhelp32.h>
#include <iostream>
using namespace std;
[/Quote]
不是这个原因吧,用printf 也不行啊
太乙 2010-03-22
  • 打赏
  • 举报
回复
重新rebuild一下。。。
昵称很不好取 2010-03-22
  • 打赏
  • 举报
回复
codeblocks正常啊~~
D:\CodeBlocks\Projects\Hello_Cpp\bin\Debug\Hello_Cpp.exe
模块在本进程中的地址:0x400000
C:\WINDOWS\system32\ntdll.dll
模块在本进程中的地址:0x7c920000
C:\WINDOWS\system32\kernel32.dll
模块在本进程中的地址:0x7c800000
C:\WINDOWS\system32\msvcrt.dll
模块在本进程中的地址:0x77be0000
请按任意键继续. . .
xiuxianshen 2010-03-22
  • 打赏
  • 举报
回复
#include <tlhelp32.h>
#include <iostream>
using namespace std;
xiuxianshen 2010-03-22
  • 打赏
  • 举报
回复

#include <tlhelp32.h>
#include <iostream>
using namespace std;

再看看,呵呵
yuzl32 2010-03-22
  • 打赏
  • 举报
回复
while(::Module32Next(hModuleSnap,&me32));
cattycat 2010-03-22
  • 打赏
  • 举报
回复
我的vc6.0没有问题啊。

64,648

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧