【发布时间】:2009-08-19 16:28:14
【问题描述】:
我制作了一个在 32 位模式下编译良好的 dll,但是在 64 位模式下编译时(在 32 位盒交叉编译和本机 64 位盒上)我得到了上述错误。 它抱怨的符号如下:
"struct return_info_ * __cdecl patch_file(char *,char *,char *)"
我是 C++ 新手,但我认为我已经正确定义了结构和签名。 结构体“return_info_”定义如下:
typedef struct return_info_
{
char *message;
int code;
} return_info;
在同一个标题中,我有函数的签名:
return_info* patch_file(char* oldfile, char* newfile, char* patchfile);
这一切都在本机 c/c++ 代码中,它被编译为静态链接库。然后我有我们的主库,它链接到这个并且是一个 clr 兼容的二进制文件。任何想法为什么 64 位编译器会抛出这些错误?
【问题讨论】:
标签: c++ visual-c++ 64-bit