MS Windows 10,MinGW 64位,Codebocks 20:03
我有以前在32位和工作完美的代码。重写并更改为64位,遇到问题。
我使用代码块来生成一个基本的dll项目,我已经跟踪到使用c++“新”(注意,这可能不是代码块的问题,但这是我使用的工具)
如果我用GCC MinGW 64 bit构建dll,并在代码中的任何地方包含 *-即使是在一个未使用的函数中-当我试图加载库时,我会得到一个空指针。评论出一行(下面)和一切工作完美。DLL加载、运行等一条线杀死它。
// this causes the DLL to not load
int* ptrx = new int[10]
字符串
在一个C++调用程序中,当我调用LoadLibrary时,我只得到一个空指针。如果我尝试使用python及其工具调用,它会说:“找不到模块xxxxxxx或它的某个依赖项”
是否有一个windows DLL或“新”的东西正在调用或其他东西,我需要的x64,我失踪?就像我说的-代码运行良好,除非我在DLL中的任何地方使用“new”操作符。
我试过了
#include <new>
型
同样的问题。代码w/或w/o行作为32位dll运行正常。
1条答案
按热度按时间pftdvrlh1#
显然,唯一需要做的就是(在CODEBLOCKS中)设置编译器**-static**选项。