簡體   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