Xcode error: "_main", referenced from: implicit entry/start for main executable
Xcode error: "_main", referenced from: implicit entry/start for main executable
我收到以下错误,它似乎来自底部与“_main”有关的内容。
Ld /Users/jianglin/Library/Developer/Xcode/DerivedData/TownHall_iPhone-bdlgipvgaapgjhglhromfvcubbxz/Build/Products/Debug-iphonesimulator/TownHall\ iPhone.app/TownHall\ iPhone normal i386
cd "/Users/jianglin/Desktop/TownHall iPhone"
export IPHONEOS_DEPLOYMENT_TARGET=8.1
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.1.sdk -L/Users/jianglin/Library/Developer/Xcode/DerivedData/TownHall_iPhone-bdlgipvgaapgjhglhromfvcubbxz/Build/Products/Debug-iphonesimulator -F/Users/jianglin/Library/Developer/Xcode/DerivedData/TownHall_iPhone-bdlgipvgaapgjhglhromfvcubbxz/Build/Products/Debug-iphonesimulator -filelist /Users/jianglin/Library/Developer/Xcode/DerivedData/TownHall_iPhone-bdlgipvgaapgjhglhromfvcubbxz/Build/Intermediates/TownHall\ iPhone.build/Debug-iphonesimulator/TownHall\ iPhone.build/Objects-normal/i386/TownHall\ iPhone.LinkFileList -Xlinker -rpath -Xlinker @executable_path/Frameworks -Xlinker -objc_abi_version -Xlinker 2 -ObjC -lPods-AFNetworking -lPods-Masonry -lPods-SDWebImage -framework CoreGraphics -framework Foundation -framework ImageIO -framework MobileCoreServices -framework Security -framework SystemConfiguration -framework UIKit -fobjc-arc -fobjc-link-runtime -Xlinker -no_implicit_dylibs -mios-simulator-version-min=8.1 -lPods -Xlinker -dependency_info -Xlinker /Users/jianglin/Library/Developer/Xcode/DerivedData/TownHall_iPhone-bdlgipvgaapgjhglhromfvcubbxz/Build/Intermediates/TownHall\ iPhone.build/Debug-iphonesimulator/TownHall\ iPhone.build/Objects-normal/i386/TownHall\ iPhone_dependency_info.dat -o /Users/jianglin/Library/Developer/Xcode/DerivedData/TownHall_iPhone-bdlgipvgaapgjhglhromfvcubbxz/Build/Products/Debug-iphonesimulator/TownHall\ iPhone.app/TownHall\ iPhone
Undefined symbols for architecture i386:
"_main", referenced from:
implicit entry/start for main executable
(maybe you meant: _OBJC_IVAR_$_PostTableViewCell._mainTextView, _OBJC_IVAR_$_ConfirmationViewController._mainLabel , _OBJC_IVAR_$_SignInViewController._mainLabel , _OBJC_IVAR_$_SignUpViewController._mainLabel )
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
如有任何帮助,我们将不胜感激。
如果我是正确的,您正在使用模拟器 运行 应用程序。 运行ning app on iOSSimulator需要i386架构的支持。错误显示您的二进制链接框架不支持 i386 架构。这可能是框架'SDWebImage'(我猜的)。请尝试运行在真实设备而非模拟器中的应用程序,或尝试下载具有i386入口点的框架。
另一种可能性是:验证 "AppDelegate" 是否存在于编译后的源代码中。希望这对你有帮助..
我检查了你的项目。问题很简单,你的项目中没有 main.m
文件。我想你不小心删除了那个。
向您的项目添加一个新的 .m 文件,将其命名为 main
并向其中添加以下代码:
#import <UIKit/UIKit.h>
#import "AppDelegate.h"
int main(int argc, char * argv[]) {
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}
同样在您的项目中 info.plist 也丢失了,因此您需要添加一个新的。
将@UIApplicationMain 添加到 AppDelegate
我的情况非常相似,但略有不同。该解决方案部分是由@Midhun-MP 上面的回答提示的。
在我的例子中,我添加了我的应用程序的 tvOS 版本。但是,在添加新目标后,main.m 未在目标成员资格下选择(因此,有关 Undefined symbols for architecture x86_64: "_main"
的警告消息)。检查了一下,砰——我是 GTG。
感谢@Midhun-MP。
我 运行 在一次大升级后进入这个问题,看到这么多 Github 的答案非常烦人,建议 RN 用户开始一个新项目来解决这个问题。
首先,以下是 运行 出现此错误时我注意到的构建设置以及应设置的设置:
应用程序目标的构建阶段
Link 带库的二进制文件
- JavaScriptCore.framework
- libPods-app_name.a
编译源代码
- AppDelegate.m
- main.m
应用程序目标的构建设置
Linking OTHER_LDFLAGS
- ObjC
- lc++
- lz
如果设置看起来没问题,但构建时仍然收到错误,下一步是检查主文件本身。
Main.m 文件位于 ios/app_name 文件夹中,在文件本身中,您将找到引用的主要方法。如果此文件有问题(丢失、损坏),您可以使用以下代码重新创建它:
main.m 0.23.1 - 0.62.0 来自 Upgrade Helper
/**
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
#import <UIKit/UIKit.h>
#import "AppDelegate.h"
int main(int argc, char * argv[]) {
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}
我真的希望这对以后的人有所帮助。
我 运行 尝试归档一个 Mac Catalyst 应用程序 (Swift 5 / Xcode 11.5),直到尝试归档为止工作正常并能够 运行 / 通过 My Mac
.
成功构建
从来没有完全能够找到最终修复它的根本原因,但是将我所有的根级项目文件(包括 AppDelegate.swift
)移动到一个组中解决了这个问题并允许我存档成功
之前:
Project.xcodeproj
|--- Project
|--- AppDelegate.swift
|--- SceneDelegate.swift
|--- Assets.xcassets
|--- ViewControllers
|--- ViewController.swift
之后:
Project.xcodeproj
|--- Project
|--- AppDelegate
|--- AppDelegate.swift
|--- SceneDelegate.swift
|--- Assets.xcassets
|--- ViewControllers
|--- ViewController.swift
我收到以下错误,它似乎来自底部与“_main”有关的内容。
Ld /Users/jianglin/Library/Developer/Xcode/DerivedData/TownHall_iPhone-bdlgipvgaapgjhglhromfvcubbxz/Build/Products/Debug-iphonesimulator/TownHall\ iPhone.app/TownHall\ iPhone normal i386
cd "/Users/jianglin/Desktop/TownHall iPhone"
export IPHONEOS_DEPLOYMENT_TARGET=8.1
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator8.1.sdk -L/Users/jianglin/Library/Developer/Xcode/DerivedData/TownHall_iPhone-bdlgipvgaapgjhglhromfvcubbxz/Build/Products/Debug-iphonesimulator -F/Users/jianglin/Library/Developer/Xcode/DerivedData/TownHall_iPhone-bdlgipvgaapgjhglhromfvcubbxz/Build/Products/Debug-iphonesimulator -filelist /Users/jianglin/Library/Developer/Xcode/DerivedData/TownHall_iPhone-bdlgipvgaapgjhglhromfvcubbxz/Build/Intermediates/TownHall\ iPhone.build/Debug-iphonesimulator/TownHall\ iPhone.build/Objects-normal/i386/TownHall\ iPhone.LinkFileList -Xlinker -rpath -Xlinker @executable_path/Frameworks -Xlinker -objc_abi_version -Xlinker 2 -ObjC -lPods-AFNetworking -lPods-Masonry -lPods-SDWebImage -framework CoreGraphics -framework Foundation -framework ImageIO -framework MobileCoreServices -framework Security -framework SystemConfiguration -framework UIKit -fobjc-arc -fobjc-link-runtime -Xlinker -no_implicit_dylibs -mios-simulator-version-min=8.1 -lPods -Xlinker -dependency_info -Xlinker /Users/jianglin/Library/Developer/Xcode/DerivedData/TownHall_iPhone-bdlgipvgaapgjhglhromfvcubbxz/Build/Intermediates/TownHall\ iPhone.build/Debug-iphonesimulator/TownHall\ iPhone.build/Objects-normal/i386/TownHall\ iPhone_dependency_info.dat -o /Users/jianglin/Library/Developer/Xcode/DerivedData/TownHall_iPhone-bdlgipvgaapgjhglhromfvcubbxz/Build/Products/Debug-iphonesimulator/TownHall\ iPhone.app/TownHall\ iPhone
Undefined symbols for architecture i386:
"_main", referenced from:
implicit entry/start for main executable
(maybe you meant: _OBJC_IVAR_$_PostTableViewCell._mainTextView, _OBJC_IVAR_$_ConfirmationViewController._mainLabel , _OBJC_IVAR_$_SignInViewController._mainLabel , _OBJC_IVAR_$_SignUpViewController._mainLabel )
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
如有任何帮助,我们将不胜感激。
如果我是正确的,您正在使用模拟器 运行 应用程序。 运行ning app on iOSSimulator需要i386架构的支持。错误显示您的二进制链接框架不支持 i386 架构。这可能是框架'SDWebImage'(我猜的)。请尝试运行在真实设备而非模拟器中的应用程序,或尝试下载具有i386入口点的框架。
另一种可能性是:验证 "AppDelegate" 是否存在于编译后的源代码中。希望这对你有帮助..
我检查了你的项目。问题很简单,你的项目中没有 main.m
文件。我想你不小心删除了那个。
向您的项目添加一个新的 .m 文件,将其命名为 main
并向其中添加以下代码:
#import <UIKit/UIKit.h>
#import "AppDelegate.h"
int main(int argc, char * argv[]) {
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}
同样在您的项目中 info.plist 也丢失了,因此您需要添加一个新的。
将@UIApplicationMain 添加到 AppDelegate
我的情况非常相似,但略有不同。该解决方案部分是由@Midhun-MP 上面的回答提示的。
在我的例子中,我添加了我的应用程序的 tvOS 版本。但是,在添加新目标后,main.m 未在目标成员资格下选择(因此,有关 Undefined symbols for architecture x86_64: "_main"
的警告消息)。检查了一下,砰——我是 GTG。
感谢@Midhun-MP。
我 运行 在一次大升级后进入这个问题,看到这么多 Github 的答案非常烦人,建议 RN 用户开始一个新项目来解决这个问题。
首先,以下是 运行 出现此错误时我注意到的构建设置以及应设置的设置:
应用程序目标的构建阶段
Link 带库的二进制文件
- JavaScriptCore.framework
- libPods-app_name.a
编译源代码
- AppDelegate.m
- main.m
应用程序目标的构建设置
Linking OTHER_LDFLAGS
- ObjC
- lc++
- lz
如果设置看起来没问题,但构建时仍然收到错误,下一步是检查主文件本身。
Main.m 文件位于 ios/app_name 文件夹中,在文件本身中,您将找到引用的主要方法。如果此文件有问题(丢失、损坏),您可以使用以下代码重新创建它:
main.m 0.23.1 - 0.62.0 来自 Upgrade Helper
/**
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
#import <UIKit/UIKit.h>
#import "AppDelegate.h"
int main(int argc, char * argv[]) {
@autoreleasepool {
return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
}
我真的希望这对以后的人有所帮助。
我 运行 尝试归档一个 Mac Catalyst 应用程序 (Swift 5 / Xcode 11.5),直到尝试归档为止工作正常并能够 运行 / 通过 My Mac
.
从来没有完全能够找到最终修复它的根本原因,但是将我所有的根级项目文件(包括 AppDelegate.swift
)移动到一个组中解决了这个问题并允许我存档成功
之前:
Project.xcodeproj
|--- Project
|--- AppDelegate.swift
|--- SceneDelegate.swift
|--- Assets.xcassets
|--- ViewControllers
|--- ViewController.swift
之后:
Project.xcodeproj
|--- Project
|--- AppDelegate
|--- AppDelegate.swift
|--- SceneDelegate.swift
|--- Assets.xcassets
|--- ViewControllers
|--- ViewController.swift