premake/premake-core

os.findlib is not architecture aware

開放

#542 建立於 2016年7月14日

 (0 則留言) (0 個反應) (0 位負責人)C (651 個分叉)auto 404
enhancementhelp wanted

倉庫指標

星標
 (3,621 顆星)
PR 合併指標
 (PR 指標待抓取)

描述

os.findlib may return the path to a 32bit lib even if the current project is configured to use the x86_64 architecture.

I am not really familiar with this but it seems to be possible to check for a compatible architecture/bitness by inspecting the file header.

Unix fifth byte of the ELF header

Value Bitness
1 32 bit
2 64 bit

Windows first two bytes of COFF header

Value Architecture
0x014c x86
0x8664 x64

Therefore one possibiliy would be to ignore incompatible files (and removing their path) until os.pathsearch returns a compatible file or nil.

貢獻者指南