MacOS Sonoma - 配置:错误:无法运行 C 编译的程序

问题描述 投票:0回答:1

写,因为我尝试过的所有解决方案都不起作用。

  • 项目框架:React Native(世博会管理)
  • MacOS:索诺玛 14.5
  • X代码:15.4
  • 芯片:M2 Pro

错误:

⚠️  Something went wrong running `pod install` in the `ios` directory.
Command `pod install` failed.
└─ Cause: /bin/bash -c 
set -e
cd sqlite-src-3450300
./configure
make sqlite3.c sqlite3.h sqlite3ext.h

checking build system type... arm-apple-darwin23.5.0
checking host system type... arm-apple-darwin23.5.0
checking for gcc... clang
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... 
configure: error: in `/Users/datachanturia/Library/Caches/CocoaPods/Pods/Release/sqlite3/3.45.3+1-02d1f/sqlite-src-3450300':
configure: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details


pod install --repo-update --ansi exited with non-zero code: 1

ios c react-native macos pod-install
1个回答
0
投票

解决方案:

  1. 打开zshrc:
    nano ~/.zshrc
  2. 添加
    export SDKROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk
  3. 奔跑
    source ~/.zshrc

TL;博士

这可能非常棘手,它无法运行,因为在我的例子中编译不正确。

我使用

C
终端创建了
zsh
“Hello World”程序,并尝试使用
clang
编译它。每次我尝试运行时,系统都会杀死它。

为了找到问题,我在 XCode 中创建了

C
程序并运行它。它运行没有问题,然后发现 XCode 编译的文件移动到与之前的“Hello World”程序完全相同的目录(使用
cp
命令):它运行没有问题。

在这里,我理解问题不在于编译文件如何运行或从何处运行,而在于它们是如何编译的。

我记录了XCode构建和终端构建,发现,

SDKROOT
差异是原因:当XCode使用
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk
时,我有其他路径。

因此添加此路径到

SDKROOT
解决了问题。

© www.soinside.com 2019 - 2024. All rights reserved.