Error : cannot load dll lib
Traceback (most recent call last):
File "C:\Users\Ekkasit\Desktop\Emotiv Python EEG\eeg_logger.py", line 44, in
eEvent = libEDK.IEE_EmoEngineEventCreate()
NameError: name 'libEDK' is not defined
พอดีผมจะรัน sdk ของ Emotiv ที่ไว้ใช้ดึง ค่าจาก Emotiv EEG แต่พอรันแล้วมันติดปัญหาตรงนี้อ่ะครับ
มีใครพอจะทราบวิธีแก้มั้ยครับ
อันนี้บางส่วนจากโค้ดหลักครับ
try :
if sys.platform.startswith('win32'):
libEDK = cdll.LoadLibrary("edk.dll")
if sys.platform.startswith('linux'):
srcDir = os.getcwd()
libPath = srcDir + "/libedk.so"
libEDK = CDLL(libPath)
except :
print 'Error : cannot load dll lib'
.
.
.
.
.
.
write = sys.stdout.write
eEvent = libEDK.IEE_EmoEngineEventCreate()
รันบน python 2.7.11 ครับ
+ พอจะมีวิธี convert python 2 เป็น python 3 มั้ยครับ
จาก error เข้าใจว่ามันไม่ได้เข้าทำงานใน if หน่ะครับ ทำให้ไม่เคย set ค่า libEDK ว่าหลังจากพยายาม load dll แล้ว libEDK มันมาจริงๆ ไหมหน่ะครับ
ถ้ารันแค่
libEDK = cdll.LoadLibrary("edk.dll")
จะได้แบบนี้อะครับ
Traceback (most recent call last):
File "C:\Users\Ekkasit\Desktop\Emotiv Python EEG\eeg_logger.py", line 16, in
libEDK = cdll.LoadLibrary("edk.dll")
File "C:\Python27\lib\ctypes__init__.py", line 443, in LoadLibrary
return self._dlltype(name)
File "C:\Python27\lib\ctypes__init__.py", line 365, in init
self._handle = _dlopen(self._name, mode)
WindowsError: [Error 193] %1 is not a valid Win32 application
platform ต้องตรงกันนะครับ
ถ้าใช้ python 32-bit ต้องใช้ dll จาก win32
ถ้าใช้ python 64-bit (amd64) ก็ต้องใช้ dll จาก win64