我试图在Windows上的Visual Studio中调用我在Python中创建的C dll。
这是头文件
#pragma once
#ifdef MYCLIB_EXPORT
#define MYCLIB_API extern "C" __declspec(dllexport)
#else
#define MYCLIB_API extern "C" __declspec(dllimport)
#endif
MYCLIB_API int PrintStuff();
源文件:
#include "stdafx.h"
#include "MyCLib.h"
#include <stdio.h>
MYCLIB_API int PrintStuff()
{
printf("Stuff");
return 1;
}
我正在构建64位调试,我在预处理器属性中定义了MYCLIB_EXPORT。我还将MyCLib.dll放在Python脚本的目录中。
我在同一个Visual Studio解决方案中创建了一个Python项目,并且具有以下代码:
import ctypes
from ctypes import *
lib = ctypes.WinDLL('MyCLib.dll')
#dll = cdll.LoadLibrary('MyCLib.dll')
print "Done"
当我运行脚本时,我收到错误:[Error 193] %1 is not a valid Win32 application
。
我在dll创建或dll加载中是否犯了错误?