【发布时间】:2011-03-09 11:48:39
【问题描述】:
这是我猜几个部分的问题。
我正在阅读有关嵌入 python 解释器的文档。我已经很好地编译和链接了所有东西,只有当我运行它时应用程序崩溃(具体来说它无法加载,所以它甚至还没有开始运行)。
我正在运行 Windows 7 Professional 64 位。我正在用 msys 编译最新的 mingw 夜间版本(它与安装程序一起打包,所以我相信那里没有兼容性不匹配)。使用默认存储库 python 3.1 和 build-essential 工具,相同的代码在 Ubuntu 10.10 上编译良好。
到目前为止,在我的研究中,我认为这个“可能”是链接 32 位应用程序(据我所知,mingw 使用 32 位)与 64 位库(python dll)之间的问题。
我可以发布完整的代码,但是由于这往往是一个链接/运行问题,我只包含了 makefile 开始。从下面的 makefile 中,我已将 Python3.dll 从 C:\Python32\DLLs 复制到我的项目目录中。另外值得注意的是,我必须创建自己的 .def 然后从 DLL 创建 .a 才能链接(否则找不到符号)。这可能是我的问题的根源吗?
在运行 a.exe(从命令行和资源管理器)时,我会收到一个标准警报窗口:
应用程序错误:应用程序无法正确启动 (0xc000007b)。单击“确定”关闭应用程序。
如果我错了,请纠正我,但这表明我的可执行文件在某种程度上已损坏。
我已经测试了我的编译器/链接器,以确保它不是编译器/链接器问题。它包括并且当应用程序不使用 python 时,这不会在编译、链接或运行时引发任何错误。
感谢您对此事的任何帮助或说明。这让我真的很难过。 个人电脑
生成文件
FILE= main.cpp
LIBS= -lpython3
LIBPATH= -L/c/python32/libs
INCLUDEPATH = -I/c/python32/include
CPP=g++
FLAGS = -g
build:
$(CPP) $(FLAGS) $(FILE) $(LIBS) $(LIBPATH) $(INCLUDEPATH)
【问题讨论】:
标签: c++ python g++ python-3.x windows-7-x64