`
浮生长恨
  • 浏览: 211627 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ld: symbol(s) not found for architecture i386”错误的一般解决办法

阅读更多
missing required architecture i386 in file
Undefined symbols for architecture i386:
  "_OBJC_CLASS_$_OBLinear", referenced from:
  objc-class-ref in MyViewBarcode.o
ld: symbol(s) not found for architecture i386
collect2: ld returned 1 exit status 
今天碰到了类似与上述的错误,花了很多时间来解决这个问题,因此总结下:
类似上面的的错误,一般是库的问题,一般解决办法如下:
1、检查工程设置Search Paths里的Framework Search Paths、Header Search Paths、Library Search Paths的路径设置,看设置路径是否正确,另外还要注意里边是否多余一些不确定的路径,我就是因为设置里不知道怎么回事多了几条奇怪的路径导致Xcode报上述错误;结果,搞了我半天,真的是半天,时间完全浪费了。。。。。。
2、注意检查是否将库添加进工程里,添加的库分为模拟器、真机和混合版的
3、注意检查库跟前台的工程设置的Build Products Path和Intermediate Build Files Path项下的build文件路径要一致;
上述设置要工程设置跟target一起设置生效。
分享到:
评论

相关推荐

    Framework not found IOSurface for architecture arm64(不能设为免费?)

    在iOS应用开发中,"Framework not found IOSurface for architecture arm64" 是一个常见的构建错误,这通常发生在尝试编译或运行项目时,系统无法找到指定的架构(arm64)所需的IOSurface框架。该问题可能由多种原因...

    ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1

    今天编写一个简单的代码,报错了: ... for (uint32_t i = 0; i < SIZE; ++i) { _data[i] = new T[SIZE]; } } inline const uint32_t size() const { return SIZE; } T* operator[](uint32_

    解决Xcode10以上编译报错 library not found for "-lstdc++.6"

    根据调试方式不同,真机和模拟器文件放置路径不同,分别复制对应的Lib文件到以下路径即可解决。 建议拷贝地址Shift + command + G前往 真机 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS....

    在Mac OS上自行编译安装Apache服务器和PHP解释器

    注意,如果你在编译过程中遇到“Undefined symbols for architecture x86_64”的错误,这通常意味着缺少某些库。在这种情况下,你需要找到相应的库并安装,或者查阅错误信息以获取解决方案。 整个编译过程可能需要...

    Xcode9的库

    为了解决"library not found libstdc++"的错误,开发者可以采取以下策略: 1. **升级库**:查找并更新依赖于`libstdc++`的第三方库到最新版本,这些新版本可能已经迁移到了`libc++`,或者提供了对Xcode 10的支持。 ...

    /usr/bin/ld:cannot find-lThreads的解决办法

    当遇到"/usr/bin/ld: cannot find -lThreads"这样的错误提示时,这意味着链接器找不到指定的线程库。本文将深入探讨这个问题,并提供解决方法。 1. **CMakeLists.txt的正确配置** 当使用CMake作为构建工具时,我们...

    Linux编译静态链接出现:/usr/bin/ld: cannot find -lc,解决方式

    Linux编译静态链接出现:/usr/bin/ld: cannot find -lc. 将libc.a拷贝到usr/lib/中,问题得以解决。

    mipsel-linux-as: not found 是因为系统是64位的,按照以下文档安装几个包即可解决

    编译uboot时出现/bin/sh: 1: /opt/buildroot-gcc342/bin/mipsel-linux-as: not found 是因为系统是64位的,按照以下文档安装几个包即可解决

    map_fd:OS X 10.10 及更高版本上 ld_classic 的 map_fd 解决方法

    dyld: lazy symbol binding failed: Symbol not found: _map_fd Referenced from: /Developer/usr/bin/ld_classic Expected in: /usr/lib/libSystem.B.dylib Xcode 3.2.6 中包含的ld_classic工具基于已弃用的map_...

    重装IE的i386文件

    在IT领域,重装IE(Internet Explorer)的i386文件主要涉及到的是Windows操作系统中的一个关键部分。i386文件夹包含了Windows 95、98、ME以及早期版本的Windows NT、2000和XP等操作系统运行所需的基本系统文件,特别...

    不同版本Linux下基于libxml2的C编译问题解决

    /usr/bin/ld: warning: libpgtypes.so.1, needed by /usr/lib/libecpg.so, not found (try using -rpath or -rpath-link) /usr/bin/ld: warning: libpq.so.3, needed by /usr/lib/libecpg.so, not found (try using ...

    解决gedit: symbol lookup error: /home/xxx/libgobject-2.0.so.0: undefined symbol: g_date_copy问题

    在本文中,我们将探讨一个与Linux系统中软件依赖和库版本相关的问题,特别是关于gedit文本编辑器在Ubuntu 16.04上遇到的"symbol lookup error"。该问题通常发生在尝试执行gedit或某些其他应用程序时,由于库文件不...

    aestest.zip

    C++ AES加密解密简单实现,可以运行,源码附上,可能部分编译器不能编译,出现ld: symbol(s) not found for architecture x86_64 类似错误,是编译器问题,如果有疑问,可加

    Ubuntu 64 位编译Android源码出错解决办法

    ### 错误四:`/usr/bin/ld: cannot find -lz` #### 解决方案: 该错误提示ld链接器未能找到zlib库,可通过安装`lib32z1-dev`来解决。 ```bash sudo apt-get install lib32z1-dev ``` 此命令将安装32位版本的zlib库...

    项目中的问题

    ### 项目中的常见问题及其解决方案 #### 一、代码规范问题 在软件开发过程中,遵循良好的代码规范至关重要。这不仅能提高代码的可读性和可维护性,还能减少潜在的错误和冲突。 **解决建议:** - 建立一套统一的...

    解决linux下出现/lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found问题

    在Linux系统中,遇到“/lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found”的错误提示通常意味着系统中的`libstdc++.so.6`库版本过低,无法满足某些应用程序运行所需的C++ ABI(Application Binary ...

    解决 cannot find -lxxx 的问题

    /usr/bin/ld: cannot find -lxxx ``` 其中 `-lxxx` 表示链接器未能找到名为 `xxx` 的库。这些库通常是动态链接库 `.so` 文件,例如: - `/usr/bin/ld: cannot find -lc` - `/usr/bin/ld: cannot find -lltdl` - `/...

    arm-linux-ld命令说明

    arm-linux-ld 命令说明 arm-linux-ld 命令是 arm-linux 的链接器,用于将多个目标文件(.o 文件)链接成一个可执行文件。下面是 arm-linux-ld 命令的详细说明: 首先,我们需要了解的是,在编译和链接过程中,arm-...

    lapack安装

    export LD_LIBRARY_PATH=/path/to/lapack:$LD_LIBRARY_PATH ``` #### 五、使用 Intel MKL 加速 如果使用的是 Intel 处理器,并希望进一步提高性能,可以考虑使用 Intel Math Kernel Library (MKL) 来加速 LAPACK...

    Ubuntu环境QT问题 /usr/bin/ld: 找不到 -lGL(已解决)

    安装完qt之后,构建项目就会出现:/usr/bin/ld: 找不到 -lGL 因为缺少了libGL环境,此时更新libGL环境 执行此命令sudo apt-get install libgl1-mesa-dev 执行完命令会提示错误,说依赖关系被破坏 因为是源有问题,...

Global site tag (gtag.js) - Google Analytics