关于VC++6.0 嵌入 使用python,链接错误的问题
#include <Python.h> //<Python.h>放在"stdafx.h"前面包含就出错,何解? 2012_05_17
#include "../public/CommonDef.h"
#include "../public/LogEvent.h"
/*//////////////////////////////////////////////////////////////////////////
Global variable
//////////////////////////////////////////////////////////////////////////*/
CLogEvent g_logEvent;
HANDLE g_hFile = INVALID_HANDLE_VALUE;
HANDLE g_hThread = NULL;
SOCKET g_sTcp = INVALID_SOCKET;
/*//////////////////////////////////////////////////////////////////////////
Python function
//////////////////////////////////////////////////////////////////////////*/
static PyObject* OpenLogFile(PyObject *self, PyObject *args);
static PyObject* OpenNetLogFile(PyObject *self, PyObject *args);
static PyObject* WriteLog(PyObject *self, PyObject *args);
static PyObject* StartServer(PyObject *self, PyObject *args);
static PyObject* StopServer(PyObject *self, PyObject *args);
static PyObject* IsEmpty(PyObject *self, PyObject *args);
static PyMethodDef bfMethods[] =
{
{"OpenLogFile", OpenLogFile, METH_VARARGS, "OpenLogFile"},
{"OpenNetLogFile", OpenNetLogFile, METH_VARARGS, "OpenNetLogFile"},
{"WriteLog", WriteLog, METH_VARARGS, "WriteLog"},
{"StartServer", StartServer, METH_NOARGS, "StartServer"},
{"StopServer", StopServer, METH_NOARGS, "StopServer"},
{"IsEmpty", IsEmpty, METH_NOARGS, "IsEmpty"},
{NULL, NULL, 0, NULL}
};
BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch(ul_reason_for_call) {
case DLL_PROCESS_ATTACH:
break;
case DLL_PROCESS_DETACH:
break;
default:
break;
}
return TRUE;
}
DWORD WINAPI LogEventSeverThread(LPVOID lpParamter)
{
char szRead[RESOURSE_SIZE] = {0};
DWORD dwWrite;
if (g_hFile == INVALID_HANDLE_VALUE && g_sTcp == INVALID_SOCKET) {
return -1;
}
while (TRUE)
{
if (g_logEvent.Read(szRead, RESOURSE_SIZE))
{
//printf("g_logEvent.Read success\n");
if (g_hFile != INVALID_HANDLE_VALUE) {
::WriteFile(g_hFile, szRead, strlen(szRead), &dwWrite, NULL);
::WriteFile(g_hFile, "\r\n", 2, &dwWrite, NULL);
}
if (g_sTcp != INVALID_SOCKET) {
::send(g_sTcp, szRead, strlen(szRead), 0);
::send(g_sTcp, "\r\n", 2, 0);
}
}
}
return 0;
}
Linking...
Creating library Release/ALogEvent.lib and object Release/ALogEvent.exp
ALogEvent.obj : error LNK2001: unresolved external symbol _Py_BuildValue
ALogEvent.obj : error LNK2001: unresolved external symbol _PyArg_ParseTuple
ALogEvent.obj : error LNK2001: unresolved external symbol _Py_InitModule4
../Bin/ALogEvent.pyd : fatal error LNK1120: 3 unresolved externals
Error executing link.exe.
相关推荐
python_27的调试库(包括lib和dll)
用于在VC6/2005下调试python的扩展和嵌入的库。 python自身没有带调试的库。 自己找了半天没有找到,生成了一套,就在这里共享。
通达信缠论DLL编译与调用全指南:从VC++6.0兼容到Python桥接
缠论作为A股技术分析的核心方法论,其自动化实现依赖于底层行情计算引擎。本文聚焦缠论DLL这一关键接口层,解析其本质——并非即插即用的插件,而是严格遵循通达信TDX平台ABI规范的C++导出函数集合,涉及__stdcall调用约定、#pragma pack(4)内存对齐及静态缓冲区数据生命周期管理。技术价值在于支持笔/线段/中枢等结构的实时重算与定制化修改,适用于Level2逐笔委托流接入、买卖点动态优化等高阶场景。典型应用包括通达信公式调用、C++交易系统嵌入及Python ctypes安全桥接,是突破公式
C语言上机软件VC++6.0中文版安装_学习Visual_C++_6.0编程环境的使用
C语言上机软件VC++6.0中文版安装_学习Visual_C++_6.0编程环境的使用
vc++6.0配置OpenCV
vc++6.0中使用OpenCV,配置每次都需要敲击键盘,这里直接给出代码,可以完全任由用户粘贴、复制使用。
浅析python 动态库m.so.1.0错误问题
$ python -V python: error while loading shared libraries: libpython3.6m.so.1.0: cannot open shared object file: No such file or directory ldd是列出动态库依赖关系: $ ldd /usr/local/bin/python3.6 linux-vdso.so.1 => (0x00007fffecbba000) libpython3.6m.so.1.0 => not found libpthread.so.0 => /usr/lib64/libpthrea


其它技术问题
