1>------ 빌드 시작: 프로젝트: PartAdder_sin.cpp, 구성: Debug Win32 ------
1>컴파일하고 있습니다...
1>AdderManager_sin.cpp
1>링크하고 있습니다...
1>NonStopAdderManager_sin.obj : error LNK2005: _wmain이(가) PartAdder_sin.obj에 이미 정의되어 있습니다.
1>AdderManager_sin.obj : error LNK2005: _wmain이(가) PartAdder_sin.obj에 이미 정의되어 있습니다.
1>C:\Documents and Settings\asa\My Documents\Visual Studio 2008\Projects\PartAdder_sin.cpp\Debug\PartAdder_sin.cpp.exe : fatal error LNK1169: 여러 번 정의된 기호가 있습니다.
1>빌드 로그가 "file://c:\Documents and Settings\asa\My Documents\Visual Studio 2008\Projects\PartAdder_sin.cpp\Debug\BuildLog.htm"에 저장되었습니다.
1>PartAdder_sin.cpp - 오류: 3개, 경고: 0개
========== 빌드: 성공 0, 실패 1, 최신 0, 생략 0 ==========
뭐냐 대체;;
아래는 소스고
/*
AdderManager.cpp
프로그램 설명
1~10까지 덧셈하여 출력
*/
#include <stdio.h>
#include <windows.h>
#include <tchar.h>
int _tmain(int argc, TCHAR* argv[])
{
STARTUPINFO si1={0,};
STARTUPINFO si2={0,};
PROCESS_INFORMATION pi1;
PROCESS_INFORMATION pi2;
DWORD return_val1;
DWORD return_val2;
TCHAR command1[]=_T("PartAdder_sin.exe 1 5");
TCHAR command2[]=_T("PartAdder_sin.exe 6 10");
DWORD sum=0;
si1.cb=sizeof(si1);
si2.cb=sizeof(si2);
CreateProcess(NULL,
command1,
NULL,
NULL,
TRUE,
0,
NULL,
NULL,
&si1,
&pi1
); //CreateProcess 1
CreateProcess(NULL,
command2,
NULL,
NULL,
TRUE,
0,
NULL,
NULL,
&si2,
&pi2
); //CreateProcess 2
CloseHandle(pi1.hThread);
CloseHandle(pi2.hThread);
/****** 문제 해결을 위해 추가되는 코드 2 줄 *******/
WaitForSingleObject(pi1.hProcess, INFINITE);
WaitForSingleObject(pi2.hProcess, INFINITE);
GetExitCodeProcess(pi1.hProcess, &return_val1);
GetExitCodeProcess(pi2.hProcess, &return_val2);
if(return_val1==-1 || return_val2==-1)
return -1; //비 정상적 종료.
sum+=return_val1;
sum+=return_val2;
_tprintf(_T("total : %d \n"), sum);
CloseHandle(pi1.hProcess);
CloseHandle(pi2.hProcess);
return 0;
}
대체 wmain이 어딨다고 저 지랄이냐 대체?
댓글 0