• [Unreal 게시판] DLL Binding 관련 오류 대처하기2015.09.30 PM 01:53

게시물 주소 FONT글자 작게하기 글자 키우기

Question #1>

(UDK에서) DLL Bind 하는데
Unknown function modifier 'dllimport'. 라는 오류가 계속 나타나는데
어떻게 해결 하나요 ㅜㅠㅜ
파일 올렸습니다!!

-------------------------------------------------------------

Answer #1>

2009년 12월 이전의 UDK라면
unreal s!crip 상에서 'dllimport'라는 keyword를 쓸 수 없기 때문에
인식 자체가 안되서, 쓰신 오류가 발생할 수 있습니다.


따라서,
사용하시는 UDK version을 확인해 보시고,
최신 UDK가 아니라면, 최신 UDK version으로 설치하셨으면 하네요.


만약에
최신 UDK version임에도 불구하고,
위와 같은 오류가 발생한다면,
작성하신 unreal s!crip의 source를 첨부 file로 올려 주시기 바랍니다.
올려 주시면, 살펴 보겠습니다.^^

-------------------------------------------------------------

Question #2>

뽀까뽀까님 감사해요 ㅠㅠ
가장 최신의 버전은 아닌데 2013년 버전입니다.
사정상 꼭 2013년버전의 udK3를 이용해야 하여 가장 최신의 버전으로는 받지를 못해요

-------------------------------------------------------------

Answer #2>

source 열어 봤는데 아래와 같이 되어 있네요.


class JolJakPlayerController extends UTPlayerController DLLBind(dlltest3);


일단, 붙이려는 DLL의 이름이 'dlltest3.dll'이 맞는 지 확인해 보시고요.


"[udk root]\Binaries\Win32\UserCode"에 'dlltest3.dll'이 위치하고 있는 지도 확인해 주세요
'dlltest3.dll'이 win32 DLL이 맞는 지도 확인해 주세요.(win64 DLL은 안됩니다.)
그외에 확인사항들은 아래 link 참고해 주시고요.


http://udn.epicgames.com/Three/DLLBindKR.html


이 안에 답이 있을 거라고 생각됩니다.
행운을 빕니다.


-------------------------------------------------------------

Question #3>

udk로 시리얼 통신 통해 한자리 숫자를 읽어들일라고 합니다
그런데 c++소스상으로 문제가 없는데
udk에서 분명 소스를 인식하는건 확실한데
데이터값을 제대로 받아오지 못합니다.
(못받아오는건 아닌데 visual studio상으로는 실시간으로 잘만 받아오는데
udk상에서는 반응이 느리기도 하다가 엉뚱한 숫자가 나오기도하다가 합니다.)
반응도 제각각이라 혹시 c++소스상에서 데이터를 불러오는 함수가 제 작동을 안하는거같습니다(제생각)


dll부분.

#include "stdafx.h"
#include

(중략)

extern "C"
{
__declspec(dllexport) void openSerial()
{
(중략)
}

__declspec(dllexport) void openSerial(int *v1, int *v2)
{
(중략)
}

__declspec(dllexport) void writeSerial()
{
(중략)
}

__declspec(dllexport) void closeSerial()
{
(중략)
}
}


udk파일 중 playcontrol부분 소스.(관련부분만 올렸습니다)

Class JolJakPlayerController extends UTPlayerController
DLLBind(testdll);

dllimport final function openSerial();
dllimport final function readSerial(out int v1, out int v2);
dllimport final function writeSerial();
dllimport final function closeSerial();

function PostBeginPlay() {
openSerial();
}

function PlayerTick(float DeltaTime){
(중략)
}

(중략)


에러 원인을 도저히 찾을 수 없으니 너무 답답하네요..
뭔가 문제인지 알면 수정이라도 ㅠㅠ 구글링이라도 하겠는데

-------------------------------------------------------------

Answer #3>

source를 보니까,
openSerial()이 2개 있네요.^^;;;;;;;;;;
readSerial() 없고요.^^;;;;;;;;

만약에 저 상태로 build하셨다면,
UDK쪽의 readSerial()에는 쓰레기 값이 들어 가기 때문에
불규칙하게 동작할 수 밖에 없습니다.

openSerial()이 2개를 1개로 정리하시고,
readSerial()을 제대로 정의해 보셨으면 합니다.^^







Tag:
안기훈, Keehoon Ahn, 언리얼, Unreal, UDK, iPhone, iPad, app, 앱, iOS
댓글 : 0 개
친구글 비밀글 댓글 쓰기