--在OS X上编译时,是否不支持使用sysroot? 我有一个C++项目。我正在OSX上测试一个使用Autotools的交叉编译。我配置了: $ echo $IOS_SYSROOT /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.2.sdk $ CXXFLAGS="-DNDEBUG -g2 -O3 -arch arm64" ./configure --with-sysroot="$IOS_SYSROOT" --build=`config.guess` --host=aarch64-ios

--在OS X上编译时,是否不支持使用sysroot? 我有一个C++项目。我正在OSX上测试一个使用Autotools的交叉编译。我配置了: $ echo $IOS_SYSROOT /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.2.sdk $ CXXFLAGS="-DNDEBUG -g2 -O3 -arch arm64" ./configure --with-sysroot="$IOS_SYSROOT" --build=`config.guess` --host=aarch64-ios,c++,ios,cross-compiling,autoconf,C++,Ios,Cross Compiling,Autoconf,当make”时,它会导致(为清晰起见添加了换行符): 请注意,使用了错误的头文件。使用构建系统的标题,而不是iPhone标题。我相当肯定,——使用sysroot不会受到尊重。搜索关键字似乎表明它是a(基于所有试图使用该功能的bug报告) 手动添加cxflags=“-sysroot=$IOS\u sysroot-arch arm64…似乎可以解决此问题。这似乎与中详细介绍的问题相同(或几乎相同) 似乎没有一个AC\u SYSROOT(或类似)来将--与SYSROOT一起复制到AM\u cxflag

make
”时,它会导致(为清晰起见添加了换行符):

请注意,使用了错误的头文件。使用构建系统的标题,而不是iPhone标题。我相当肯定,
——使用sysroot
不会受到尊重。搜索关键字似乎表明它是a(基于所有试图使用该功能的bug报告)

手动添加
cxflags=“-sysroot=$IOS\u sysroot-arch arm64…
似乎可以解决此问题。这似乎与中详细介绍的问题相同(或几乎相同)

似乎没有一个
AC\u SYSROOT
(或类似)来将
--与SYSROOT
一起复制到
AM\u cxflags
。在Autoconf站点中搜索关键字不会返回有用的点击次数:

我们应该如何使用sysroot处理Autoconf的
——选项?打包程序应该遵循什么实践


以下是Autoconf项目文件:。有两个感兴趣的文件,它们是
configure.ac
Makefile.am
。目前我不确定什么适用于此问题

下面是Autoconf告诉用户使用它的消息:

$ ./configure --help | grep sysroot
  --with-sysroot[=DIR]    Search for dependent libraries within DIR (or the
                          compiler's sysroot if not specified).
如果Autoconf无法正确地通过sysroot连接到
,我更愿意禁止该消息。否则,用户将填写针对我们的错误报告。

建议您导出
CXX=“clang++-std=c++11-stdlib=libc++
。它似乎默认为gcc/clang过渡时期遗留的“gcc”头。建议您导出
CXX=“clang++-std=c++11-stdlib=libc++
。它似乎默认为gcc/clang过渡时期遗留的“gcc”头。
$ ./configure --help | grep sysroot
  --with-sysroot[=DIR]    Search for dependent libraries within DIR (or the
                          compiler's sysroot if not specified).