-
-
Notifications
You must be signed in to change notification settings - Fork 816
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
macosx/iOS需要支持从XCode的里SDK/usr/lib中去find_packages #598
Comments
理论上 |
默认link ,只要加了 add_links("zlib") 都会自动从系统link的,你得说清楚,是find_packages默认不支持xcode找tbd的库。。 因为只有 find_packages和add_requires才会有这个影响,跟add_links/add_syslinks没啥关系 |
dev上我已经对 macos/iphoneos xcode sdk下 *.tbd的查找做了支持,你可以更新下试试,xmake update dev xmake l find_packages zlib的查找顺序:
并且如果是iphoneos/watchos下编译, 也可以找到对应arch的库 |
你执行下 xmake l find_packages system::zlib 或者 xmake l find_packages system::z 看看呢 由于zlib无法直接通过libzlib.a 来获取库名,目前是先通过 pkg-config 获取到 z ,然后去找 libz.a的。。 可能你这pkg-config无法通过zlib获取到 z link ,你可以先手动试试 xmake l find_packages system::z |
xmake l find_packages system::z
{
{
links = {
"z"
},
linkdirs = {
"/usr/lib"
}
}
} |
那就是你这 pkg-config zlib 找不到 导致没获取到 z ,这个要特殊处理下 find_zlib.lua ,回头我改进下,但是不影响其他 lib 在 tbd中的查找。 |
OK |
find_packages("xxx", {includedirs = {"xxx", "xxx"}, linkdirs = {"xxx", "xxx"}}) |
我改进了下 find_zlib ,你再更新下试试,xmake update -s dev xmake l find_packages zlib |
xmake l find_packages zlib
{
{
links = {
"z"
},
linkdirs = {
"/usr/lib"
}
}
} 赞~ |
现状
在Apple的平台下,find_packages目前只支持从
/usr/lib/
,/usr/local/
等目录中查找。存在的问题
从Xcode10开始,Command Line Tools将安装在Xcode的目录中,xcode_10_release_notes。
所以当 platforn=macosx 时,只能通过安装 system wide Command Line Tools 或者 brew 安装的方式去 link 需要的 lib ,当 platforn=iOS 时,貌似无法 link 到需要的lib了(因为iOS系统版本的不一致,系统中的 lib 版本也存在着差异,所以一般尽量选择使用系统内的 lib)。
Feature request
The text was updated successfully, but these errors were encountered: