• 全部
  • VC综合技术
  • 互联网技术
  • MFC AppLauncher
  • .NET 技术
  • 界面
  • 进程
  • 算法
  • 硬件/系统
  • 数据库
  • VC++技术资源

LINK : 没有找到 C:\Documents and Settings\Administrator\桌面\端口扫描\Debug\端口扫描.exe 或上一个增量链接没有生成它;正在执行完全链接...

a_che 2008-04-22 11:55:02
我是一个在校大学生,专业是计算机科学与技术,我的方向是软件开发,下面是我的一个作业,但是有些错误,老是显示LINK : 没有找到 C:\Documents and Settings\Administrator\桌面\端口扫描\Debug\端口扫描.exe 或上一个增量链接没有生成它;正在执行完全链接,请大家帮忙看看哈!

/*----------------------------------------------------------------------------------

端口扫描程序

----------------------------------------------------------------------------------*/
#pragma comment(lib, "WS2_32.lib")
#pragma comment(lib, "ComCtl32.lib")
#include <windows.h>
#include <CommCtrl.h>
#include "_ListView.h"
#include "resource.h"


//-------------全局变量-----------
HINSTANCE ghInstance;
HWND ghWinMain;
HWND ghListView;
int ghCurrentRow = 0;
DWORD dwOption;
DWORD F_STOP=1;


//--------程序中用到的函数--------
BOOL CALLBACK _ProcDlgMain(HWND, UINT, WPARAM, LPARAM);
DWORD WINAPI _WorkThread(LPVOID _lpParam);


//--------------主函数------------
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd)
{
ghInstance = hInstance;
InitCommonControls();
DialogBoxParam(hInstance, MAKEINTRESOURCE(DLG_MAIN), NULL, _ProcDlgMain,0);

return 0;
}


/*-----------------------------------------------------------------------------

主对话框函数
BOOL CALLBACK _ProcDlgMain(HWND hWnd, UINT uMessage, WPARAM wParam, LPARAM lParam)

-------------------------------------------------------------------------------*/
BOOL CALLBACK _ProcDlgMain(HWND hWnd, UINT uMessage, WPARAM wParam, LPARAM lParam)
{
HICON hIcon;
WSADATA stWSAData;
HANDLE hThread;
DWORD dwThreadId;

switch(uMessage)
{
case WM_INITDIALOG:
dwOption |= F_STOP; //dwOption=1
ghWinMain = hWnd;
hIcon = LoadIcon(ghInstance, MAKEINTRESOURCE(ICO_MAIN));
SendMessage(hWnd, WM_SETICON, ICON_BIG, (LPARAM)hIcon);
WSAStartup(MAKEWORD(2,0), &stWSAData);

ghListView = GetDlgItem(hWnd, IDC_LIST);
SendMessage(ghListView, LVM_SETEXTENDEDLISTVIEWSTYLE, 0, LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT);
ShowWindow(ghListView, SW_SHOW);
EnableWindow(GetDlgItem(ghWinMain,IDOK), TRUE);
EnableWindow(GetDlgItem(ghWinMain,IDCANCEL), FALSE);
SendDlgItemMessage(ghWinMain,IDC_IPADDR1,WM_SETFOCUS,0, 0);

break;

case WM_COMMAND:
switch(LOWORD(wParam))
{
case IDOK:
dwOption &= ~F_STOP; //dwOption=0
EnableWindow(GetDlgItem(ghWinMain,IDC_IPADDR1), FALSE);
EnableWindow(GetDlgItem(ghWinMain,IDC_IPADDR2), FALSE);
EnableWindow(GetDlgItem(ghWinMain,IDC_PORT1), FALSE);
EnableWindow(GetDlgItem(ghWinMain,IDC_PORT2), FALSE);
EnableWindow(GetDlgItem(ghWinMain,IDOK), FALSE);
EnableWindow(GetDlgItem(ghWinMain,IDCANCEL), TRUE);
_ListViewClear(ghListView);
_ListViewAddColumn(ghListView, 0, 500, "扫描结果");

hThread = CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)_WorkThread, 0, NULL, &dwThreadId);
CloseHandle(hThread);

break;

case IDCANCEL:
dwOption |= F_STOP; //dwOption=0
EnableWindow(GetDlgItem(ghWinMain,IDC_IPADDR1), TRUE);
EnableWindow(GetDlgItem(ghWinMain,IDC_IPADDR2), TRUE);
EnableWindow(GetDlgItem(ghWinMain,IDC_PORT1), TRUE);
EnableWindow(GetDlgItem(ghWinMain,IDC_PORT2), TRUE);
EnableWindow(GetDlgItem(ghWinMain,IDOK), TRUE);
EnableWindow(GetDlgItem(ghWinMain,IDCANCEL), FALSE);
SendDlgItemMessage(ghWinMain,IDC_IPADDR1,WM_SETFOCUS,0,0);

break;

}

case WM_CLOSE:

if(dwOption & F_STOP) //dwOption=1 (dwOption & F_STOP)=0
{
WSACleanup();
EndDialog(ghWinMain,NULL);
}

break;

default:

return (FALSE); // We didn't process the message.
}

return (TRUE);
}


/*---------------------------------------------------------------------

扫描函数
DWORD WINAPI _WorkThread(LPVOID _lpParam);

---------------------------------------------------------------------*/

DWORD WINAPI _WorkThread(LPVOID _lpParam){


DWORD dwStartIp;
DWORD dwEndIp;
DWORD dwStratPort;
DWORD dwEndPort;

SendMessage(GetDlgItem(ghWinMain, IDC_IPADDR1), IPM_GETADDRESS,0, (LPARAM) &dwStartIp);
SendMessage(GetDlgItem(ghWinMain, IDC_IPADDR2), IPM_GETADDRESS,0, (LPARAM) &dwEndIp);
dwStratPort = GetDlgItemInt(ghWinMain, IDC_PORT1, NULL, FALSE);
dwEndPort = GetDlgItemInt(ghWinMain, IDC_PORT2, NULL, FALSE);

for(DWORD dwIp=dwStartIp; dwIp<=dwEndIp;dwIp++)
{
for(DWORD dwPort=dwStratPort; dwPort<=dwEndPort && !(dwOption | F_STOP);dwPort++)
{

SOCKADDR_IN stSin;
SOCKET hSocket;
SYSTEMTIME stTime = {0};
char szBuffer[512] = {0};

hSocket = socket(AF_INET, SOCK_STREAM, 0);
stSin.sin_family = AF_INET;
stSin.sin_port = htons((short)dwPort);
stSin.sin_addr.S_un.S_addr = htonl(dwIp);

char* szIp = inet_ntoa(stSin.sin_addr);

if(connect(hSocket, (LPSOCKADDR)&stSin, sizeof(stSin)) == 0)
{
//连接成功
GetLocalTime(&stTime);
wsprintf(szBuffer, "%s 端口 %d 连接成功 -时间 %d:%d:%d", szIp, dwPort,
stTime.wHour, stTime.wMinute, stTime.wSecond);
}
else
{
//连接失败
GetLocalTime(&stTime);
wsprintf(szBuffer, "%s 端口 %d 连接失败 -时间 %d:%d:%d", szIp, dwPort,
stTime.wHour, stTime.wMinute, stTime.wSecond);
}
ghCurrentRow = (int)_ListViewSetItem(ghListView, ghCurrentRow, -1, 0); //插入新的一行,是空白的。
_ListViewSetItem(ghListView, ghCurrentRow, 0, szBuffer);
ghCurrentRow++;

closesocket(hSocket);
}

}

dwOption |= F_STOP; //dwOption=1
EnableWindow(GetDlgItem(ghWinMain,IDC_IPADDR1), TRUE);
EnableWindow(GetDlgItem(ghWinMain,IDC_IPADDR2), TRUE);
EnableWindow(GetDlgItem(ghWinMain,IDC_PORT1), TRUE);
EnableWindow(GetDlgItem(ghWinMain,IDC_PORT2), TRUE);
EnableWindow(GetDlgItem(ghWinMain,IDOK), TRUE);
EnableWindow(GetDlgItem(ghWinMain,IDCANCEL), FALSE);
SendDlgItemMessage(ghWinMain,IDC_IPADDR1,WM_SETFOCUS,0, 0);

return 0;
}

调试结果:

------ 已启动生成: 项目: 端口扫描, 配置: Debug Win32 ------
正在链接...
LINK : 没有找到 C:\Documents and Settings\Administrator\桌面\端口扫描\Debug\端口扫描.exe 或上一个增量链接没有生成它;正在执行完全链接
正在嵌入清单...
生成日志保存在“file://c:\Documents and Settings\Administrator\桌面\端口扫描\端口扫描\Debug\BuildLog.htm”
端口扫描 - 0 个错误,0 个警告
========== 生成: 1 已成功, 0 已失败, 0 最新, 0 已跳过 ==========
...全文
1030 点赞 收藏 11
写回复
11 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
viggin 2010-05-04
我也遇到这个问题,虽然不是错误,可还是弄明白好。按照4楼说法,我把项目属性里的增量链接选项由“默认值”改为“启用”,解决了!
回复
将Debug 文件夹下的 exe 等都删除就可以了! 清理解决方案,重新生成,就好了
回复
jt_hym 2008-11-21
我的也是这样,的确是装完系统后再从别人那再拷的代码,但有哪位高手知道怎么解决吗?
回复
tangyulong1214 2008-09-09
我也不知道是为什么...
回复
starmate 2008-07-16
我也碰到这样的情况,有说是“解决方案目录和工程目录不同步”引起的,但这么解决呢?
回复
ningzhipeng 2008-07-12
[Quote=引用 4 楼 Mackz 的回复:]
如果你的源代码文件时间比系统时间晚,编译器会认为是修改过的文件。如果禁用了增量链接也会这样全部重新链接。
[/Quote]

“如果禁用了增量链接也会这样全部重新链接。”应该是“如果启用了增量链接也会这样全部重新链接。”吧?我的源代码时间已经改成比系统时间早了,怎么还是不行呀?
回复
绝世痞子 2008-07-12
没问题啊。无警告,无错误。有什么问题。
至于编译器的某些过程,看看就可以了。
回复
菜牛 2008-07-12
如果你的源代码文件时间比系统时间晚,编译器会认为是修改过的文件。如果禁用了增量链接也会这样全部重新链接。
回复
ningzhipeng 2008-07-12
这个错误和时间有什么关系呀?
回复
a_che 2008-04-23
能不能说详细点啊,谢谢了!
回复
菜牛 2008-04-23
这个可能是由于你的文件日期不对。
回复
相关推荐
发帖
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
帖子事件
创建了帖子
2008-04-22 11:55
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……