• 6247阅读
  • 4回复

为什么QT老是便能编译C++的东西? [复制链接]

上一主题 下一主题
离线lugaideath
 

只看楼主 倒序阅读 楼主  发表于: 2009-11-23
我某功能需要用C++来实现,QT没有提供方法

编译的时候提示那些头文件里面什么什么没有定义的信息,那些头文件都是一些C++的标准头文件!谁可以告诉我为什么吗?

例如tlhelp32.h
离线dbzhang800

只看该作者 1楼 发表于: 2009-11-23
1. 你这个标题让人看的头大。

2. Qt 不会和C++的标准库冲突,该怎么用就怎么用。

3. C++标准库中不存在 tlhelp32.h 这个头文件!

4. Qt 不会和系统调用冲突,怀疑你是因为没指定库而导致了链接错误,而不是编译错误
离线lugaideath

只看该作者 2楼 发表于: 2009-11-23
那么你看看这代码缺什么?
#include <windows.h>
#include <tlhelp32.h>

int main(int argc, char* argv[])
{
PROCESSENTRY32 pe32;
pe32.dwSize = sizeof(pe32);

HANDLE hProcessSnap = ::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if(hProcessSnap == INVALID_HANDLE_VALUE)
{
  printf(" CreateToolhelp32Snapshot调用失败! \n");
  return -1;
}

BOOL bMore = ::Process32First(hProcessSnap, &pe32);
while(bMore)
{
  printf(" 进程名称:%s \n", pe32.szExeFile);
  printf(" 进程ID号:%u \n\n", pe32.th32ProcessID);

  bMore = ::Process32Next(hProcessSnap, &pe32);
}

::CloseHandle(hProcessSnap);
return 0;
}
离线lugaideath

只看该作者 3楼 发表于: 2009-11-23
运行错误说全是同一个,70多个,'DWORD' does not name a type
离线dbzhang800

只看该作者 4楼 发表于: 2009-11-23
除了没有
#include <stdio.h>

#include<cstdio>
外,没发现其他问题。

vs2008 和 mingw3.4.5 下编译链接都没发现问题
快速回复
限100 字节
 
上一个 下一个