繁体   English   中英

调试 dll 并且不包含架构 x86_64

[英]Debug dll and doesn't contain the architecture x86_64

我在 Clion 中构建了一个 64 位 dll。 收费链 Visual Studio

Clion 工具链设置

项目编译成功。 对于调试,我使用在 Delphi 中编译的 Win64 主机应用程序。 我在配置编辑器中添加了这个应用程序,当我开始调试时,我收到了消息

“Project.exe”不包含 x86_64 架构
进程以退出代码 0 结束

没有调试器(或从 Visual Studio 调试器下)的应用程序本身启动并加载我的 dll。


附加信息

我编译了一个空的 Delphi 项目

program Project1;

{$APPTYPE CONSOLE}

begin
end.

当我从调试器下作为主机应用程序运行它时,我得到了同样的错误。

将在 Visual Studio 中构建的空项目作为宿主应用程序运行时

int main()
{
}

调试器启动时没有错误

平台:Win64

用于比较 PE Headers Delphi 和 VC 程序

Delphi

在此处输入图像描述

在此处输入图像描述

视觉工作室

在此处输入图像描述

在此处输入图像描述

我的猜测是 Clion 测试COFF 文件 Header中的机器类型标志。 不幸的是,我不知道 Delphi 中的任何内置方式来设置此值。

因此,最好的选择是创建一个微型 Delphi 程序,该程序可以将此值设置为正确的值

CONST IMAGE_FILE_MACHINE_AMD64 = $8664;

然后您将其作为构建后事件执行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM