2011-07-31 3 views
0

나는 윈도우 7이없는 기능

에 DMD 2.054과 optlink 8.00.12 다음 프로그램 사용하고 포함하는 DMD의 kernel32.lib 교체 : 컴파일 할 때

pragma(lib, "kernel32.lib"); 
extern(Windows) { 
    uint LocaleNameToLCID(const(wchar)*, int); 
} 

void main() { 
    auto us = LocaleNameToLCID("en-US", 0); 
} 

하면 오류를 제공합니다 :

implib /system kernel32.lib \Windows\system32\kernel32.dll 

Error 42: Symbol Undefined [email protected] 
c:\dmd\windows\bin\..\lib\phobos.lib(dmain2) 
Error 42: Symbol Undefined [email protected] 
c:\dmd\windows\bin\..\lib\phobos.lib(dmain2) 
(... snip ...) 
: 내가 kernel32.lib을 교체하려고하면
Error 42: Symbol Undefined [email protected] 

는하지만, 나는 많은 오류를 얻을 원래 LIB 및 LocalFree 위해 만든 IMPLIB 보면

는 차이가 보여,하지만 난 그

---------- IMPLIB 
    LocalFree 
_LocalFreekernel32.dll LocalFree 
_K32GetPerformanceInfo!_LocalFree!Z 
_MoveFileExA!É_QueryPerformanceCounter!c_ReadConsoleOutputA!Ó 
_LocalFreeZ 


---------- DMD'S 
    LocalFree 
[email protected] LocalFree 
[email protected]} 

어떻게 내가 할 수있는 모든 아이디어를 (일부 특수 문자는이 출력에서 ​​누락) 무엇을 의미하는지 잘 모르겠어요 내 프로그램에서 새로운 kernel32.lib을 사용하여 기호가 누락되지 않도록하십시오.

답변

0

신경 끄시 고 ..

나는 또한 성공하지 이전 coffimplib를 사용하여 시도했지만, 지금은 작동합니다. 이전에 내가 뭘했는지는 모르겠다.

그래서 내 솔루션은 windows sdk를 다운로드하고 내가 필요로하는 라이브러리에 coffimplib을 사용했습니다.

죄송합니다. 누군가가 왜 implib이 작동하지 않는지를 말할 수 있다면 그 대답을 받아 들일 것입니다.