내가 만들고있는 게임에 대해 UDP 연결을 시도하려고합니다. 소켓 입력이 두 번째 스레드를 통해 읽혀 지므로 게임을 계속할 수 있습니다. 메시지를 기다리는 동안 실행 중입니다. 나는 별도의 프로젝트에서 일하고 있어요,하지만 내 게임 코드에 이상 이식 할 때 나는 확인되지 않은 외부 기호 오류 얻을 :이 검색 좀했는데 모두가 런타임 라이브러리가 다중으로 설정해야합니다 말한다해결되지 않은 외부 기호 receiveThread (_beginthread의 엔트리 포인트)
LNK2019: unresolved external symbol "void __cdecl receiveThread(void *)" ([email protected]@[email protected]) referenced in function "public: bool __thiscall Network::setupServerUDP(void)" ([email protected]@@QAE_NXZ)).
을 (MVS 2010에서는 단일 스레드로 설정할 수도 있습니다.)하지만 오류를 해결하지는 않습니다. 어딘가에 잘못 설정된 일부 바보 옵션이라고 확신합니다. 그러나 나는 그것이 무엇인지 생각할 수 없다.
ws2tcpip.h가 포함되어 있으며 올바른 라이브러리 #pragma comment (lib, "Ws2_32.lib")에 연결했습니다.
테스트 프로젝트와 게임 프로젝트 사이의 유일한 차이점은 테스트 프로젝트가 콘솔 응용 프로그램이고 다른 응용 프로그램은 Windows 응용 프로그램이라는 것입니다. 그러나 왜 이것이 문제인지는 알 수 없습니다. 생각?
도움 주셔서 감사합니다.
건배,
맥심
나는'receiveThread()'를 인식하지 못합니다. 당신의 기능 중 하나입니까? – hmjd
제목이 "Unresolved (...) _beginthread"이지만 "unresolved (...) receiveThread"라는 텍스트가 나오는 이유는 무엇입니까? – RedX
예, 스레드에 사용하는 기능입니다. setupServerUDP는 소켓과 모든 것을 설정하는 함수이며 _beginthread (receiveThread, 0, & params)를 호출합니다. (params는 소켓 핸드 켈과 클라이언트 목록을 스레드에 가져 오는 데 사용되는 구조체입니다). –