![](/img/trans.png)
[英]Visual Studio: How to setup Qt for a project that contains both 32-bit and 64-bit platforms?
[英]32-bit .obj in 64-bit project
我有一個32位目標文件o.obj
並想在使用64位庫l.lib
的項目中使用它。
為了使.lib
滿意,需要將Visual Studio配置設置為x64。 但是,鏈接器然后拋出error LNK1112: module machine type 'X86' conflicts with target machine type 'x64'
。
我經歷了Visual Studio的鏈接器選項,但沒有任何問題。 有沒有辦法解決此錯誤?
我的印象是,任何32位代碼也都與64位系統模庫兼容。
通過處理器和操作系統共同支持的特殊兼容模式,可以在運行64位操作系統的x64機器上執行x86可執行文件(即為32位x86處理器編譯的目標代碼)。 這是可行的,因為x86指令集是x64指令集的子集。
但是,ABI的許多元素在x86和x64代碼之間有所不同,特別是調用約定和指針大小。 調用約定需要在調用代碼和被調用代碼之間匹配,否則事情會搞砸了。 因此,沒有直接的方法可以從32位代碼中調用64位代碼,反之亦然。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.