error LNK2019: unresolved external symbol __imp_EncodePointer

I am trying to mex a c file, which uses winsock. I use the following command in MATLAB:
mex -v -L"D:\Software\MATLAB\R2014b\sys\lcc64\lcc64\lib64" -lws2_32 -lkernel32 MyFile.cpp
I keep getting the errors:
MSVCRT.lib(crtdll.obj) : error LNK2019: unresolved external symbol __imp_EncodePointer referenced in function pre_c_init MSVCRT.lib(atonexit.obj) : error LNK2001: unresolved external symbol __imp_EncodePointer MSVCRT.lib(crtdll.obj) : error LNK2019: unresolved external symbol __imp_DecodePointer referenced in function _CRT_INIT MSVCRT.lib(atonexit.obj) : error LNK2001: unresolved external symbol __imp_DecodePointer
As I understand it EncodePointer and DecodePointer are contained in the kernel32.lib file, but even when I link this file with -lkernel32, I still have no luck!

Answers (1)

Hello,
Do you want to compile a mex file in 64 bits with a library in 32bits?
I think, this is not possible (I never succeed to do it).
You have to include the same library but in 64bits.

3 Comments

Windows naming convention sucks here. I am linking to the 64bit versions of these libraries. Although they still have "32" in the library file names, they are 64bit versions of these libraries
Yes, it sucks!!
Which compiler are you using?
I'm facing smiliar issue. I am using SDK 7.1 compiler

Sign in to comment.

Categories

Asked:

on 23 Jun 2015

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!