/*
*需要配置的链接库有 Qtmain,QtNetwork4,QtCore4
*/
#include <Qt/QNetworkInterface.h>
#include <Qt/Qstring.h>
#include <Qt/QList.h>
using namespace std;
int main(){
QList<QNetworkInterface> NetList; //网卡链表
int NetCount = 0; //网卡个数
int Neti = 0;
QString MacStr;
QNetworkInterface thisNet; //所要使用的网卡
NetList = QNetworkInterface::allInterfaces(); //获取所有网卡信息
NetCount = NetList.count(); //统计网卡个数
for(Neti = 0;Neti < NetCount; Neti++){ //遍历所有网卡
if(NetList[Neti].isValid()){ //判断该网卡是否是合法
thisNet = NetList[Neti]; //将该网卡置为当前网卡
break;
}
}
MacStr = thisNet.hardwareAddress(); //获取该网卡的MAC
qDebug()<<MacStr;
}
上面的是从网上下的程序,编译的总报错:undefined reference to '_imp__ZN17QNetworkInterface...'
我几乎把所有关于QNetwork的头文件都加上了,还是不行。最后还是在网上找到了解决办法:在工程文件里,加上 QT+ = network。
之后我把这句话删掉也能正常运行了,工程文件里的代码是正常运行一遍后就没事干了吗?