Open Altina-oz opened 5 months ago
Bot detected the issue body's language is not English, translate it automatically.
Title: Based on the original arrow7.0.0, I wrote one that can pass under win, but I can't add lz4 or the like.
__imp是Windows导入动态库符号的前缀,相当于你给了一个lz4的静态库进去,但是你的arrow需要一个lz4的动态库,所以找不到符号。你看看cmake或者arrow里面控制lz4的导入符号的部分,看一下控制宏是什么。再用类似以下的方式,把宏追加进cmake里面,来支持lz4的静态库:
if not package:dep("lz4"):config("shared") then
io.replace("CMakeLists.txt", "target_compile_definitions(${arrow某个模块} PUBLIC ${模块中的其他宏})", "target_compile_definitions(${arrow某个模块} PUBLIC ${模块中的其他宏} ${追加的宏})")
end
你在什么场景下需要该功能?
库里原先的apache-arrow是7.0.0 linux版本的,仿照改写了个能在win下16.1.0版本的,不过貌似lz4之类的会挂(读写不压缩的parquet,feather,csv,compute什么的能过),其他的三方库我不确定至少lz4链接会链接不到(static, win11, msvc2022 c++20 release, xmake 2,9.1 dev, 报错见下方)
描述可能的解决方案
以上可以不压缩地读写和运行(至少不依赖三方库的部分)计算模块等
描述你认为的候选方案
其他信息
No response