我在使用C ++库时遇到此错误。它使用GNU Automake进行构建。我应该为make
命令提供哪些标志以降低目标构建平台,以避免在我尝试链接到库的Xcode项目中看到此警告?
答案 0 :(得分:5)
正如cbrnr回答的那样,你必须使用-mmacosx-version-min编译器标志。要通过make传递编译器标志,可以使用CXXFLAGS环境变量:
make CXXFLAGS="-mmacosx-version-min=10.10" <target or other make params>
答案 1 :(得分:3)
您需要将编译器标志-mmacosx-version-min
设置为要构建的SDK的版本号。我没有使用automake
,但在cmake
中您设置了变量CMAKE_OSX_DEPLOYMENT_TARGET
,而在qmake
中您设置了变量{ {1}}。
答案 2 :(得分:1)
当对多个软件包使用 ./configure
时,macosx-version-min
设置默认为特定的操作系统版本 - 如果该操作系统版本低于 macosx-version-min
版本,这可能会导致上述警告消息链接库已编译。但是,这可以通过在运行 configure 之前设置 MACOSX_DEPLOYMENT_TARGET
环境变量来控制,例如
MACOSX_DEPLOYMENT_TARGET=10.14 ./configure