在我的iPhone项目中集成Zxing,QR码阅读器框架.我从这里检查了ZXing sdk .我运行了ZXing的示例项目,名为ScanTest,没有任何问题.但是当我尝试将库与我的项目集成时,我收到了提到的错误.
当我构建时,在完成ZXing自述文件中的每个集成步骤后,我都会遇到构建错误
Undefined symbols for architecture armv7:
"std::basic_ostream<char, std::char_traits<char> >& std::operator<<<std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)", referenced from:
zxing::qrcode::Detector::computeDimension(zxing::Ref<zxing::ResultPoint>, zxing::Ref<zxing::ResultPoint>, zxing::Ref<zxing::ResultPoint>, float) in libZXingWidget.a(Detector-B8B28E953F840D47.o)
Undefined symbols for architecture armv7:
"std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&)", referenced from:
zxing::Exception::Exception(char const*) in libZXingWidget.a(Exception.o)
zxing::common::StringUtils::guessEncoding(unsigned char*, int, std::map<unsigned int, std::string, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, std::string> …Run Code Online (Sandbox Code Playgroud) 要么我非常疲倦,要么发生一些我不知道的奇怪事情,因为下面的代码在链接时导致Foo :: A和Foo :: B的未定义符号.这可以从一个更大的项目中尽可能地减少,但显示了我正在看的内容的本质.
#include <algorithm>
struct Foo
{
static const int A = 1;
static const int B = 2;
};
int main()
{
return std::min(Foo::A, Foo::B);
}
Run Code Online (Sandbox Code Playgroud)
没有std :: min函数模板它工作正常,即只返回Foo :: A. 在类/结构之外定义静态int时也很好(在这个简单的例子中是全局的).但是,只要他们像这样,链接器就找不到它们.
有人能解释发生了什么吗?
c++ initialization definition static-members undefined-symbol
我刚编译了一个项目,Xcode返回这两个错误,这些错误似乎不是我代码的错.我该如何解决?
Undefined symbols for architecture i386:
"_vImageBoxConvolve_ARGB8888", referenced from:
-[UIImage(Blur) boxblurImageWithBlur:] in UIImage+Blur.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Run Code Online (Sandbox Code Playgroud) 我正在尝试安装Google maps SDK,并且在运行时遇到此错误:
Undefined symbols for architecture x86_64:
"_CBAdvertisementDataManufacturerDataKey", referenced from:
-[GMSx_PEBeaconScanner centralManager:didDiscoverPeripheral:advertisementData:RSSI:] in GoogleMaps(PEBeaconScanner.o)
"_CBAdvertisementDataServiceDataKey", referenced from:
-[GMSx_PEBeaconScanner centralManager:didDiscoverPeripheral:advertisementData:RSSI:] in GoogleMaps(PEBeaconScanner.o)
"_CBCentralManagerScanOptionAllowDuplicatesKey", referenced from:
-[GMSx_PEBeaconScanner scanIfAppropriate] in GoogleMaps(PEBeaconScanner.o)
"_OBJC_CLASS_$_CBCentralManager", referenced from:
objc-class-ref in GoogleMaps(PEBeaconScanner.o)
"_OBJC_CLASS_$_CBUUID", referenced from:
objc-class-ref in GoogleMaps(PEBeacon.o)
objc-class-ref in GoogleMaps(PEBeaconScanner.o)
"_vImageBoxConvolve_Planar8", referenced from:
(anonymous namespace)::CreateBlurredImage(CGImage*, double, double) in GoogleMaps(GLWaterGroup.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Run Code Online (Sandbox Code Playgroud) 我有点进退两难 - 无论我做什么,我都无法让Apple的Instruments.app象征任何包含的乐器,而我在我的设备上进行分析(它在iOS模拟器中运行正常).
我已经尝试过我能想到的一切,包括:
我不确定从哪里开始 - 我在本周早些时候有一两个小时的符号,但我根本无法让它们完全显示出来.能够弄清楚神秘的咒语是什么让仪器总能找到我的应用程序符号会很棒.
我正在尝试使用任何一个基于libxml的第三方XML解析器,但我不能,因为我认为我有某种类型的libxml2问题
我将其他链接器标志设置为-lxml2
和/ usr/include/libxml2的标题搜索路径
但是当我尝试编译时,我仍然会得到大量未定义的符号.以下错误是尝试编译TouchXML的结果.
Undefined symbols:
"_xmlDocDumpFormatMemory", referenced from:
-[CXMLDocument description] in CXMLDocument.o
"_xmlXPathNewContext", referenced from:
-[CXMLNode nodesForXPath:error:] in CXMLNode.o
-[CXMLNode(CXMLNode_NamespaceExtensions) nodesForXPath:namespaceMappings:error:] in CXMLNode_XPathExtensions.o
"_xmlOutputBufferFlush", referenced from:
-[CXMLNode XMLStringWithOptions:] in CXMLNode.o
"_xmlNodeListGetString", referenced from:
-[CXMLNode stringValue] in CXMLNode.o
"_xmlFree", referenced from:
_xmlFree$non_lazy_ptr in CXMLDocument.o
_xmlFree$non_lazy_ptr in CXMLNode.o
(maybe you meant: _xmlFree$non_lazy_ptr)
"_xmlXPathFreeContext", referenced from:
-[CXMLNode nodesForXPath:error:] in CXMLNode.o
-[CXMLNode(CXMLNode_NamespaceExtensions) nodesForXPath:namespaceMappings:error:] in CXMLNode_XPathExtensions.o
"_xmlNodeDumpOutput", referenced from:
-[CXMLNode XMLStringWithOptions:] in CXMLNode.o
"_xmlAddChild", referenced from:
-[CXMLDocument(CXMLDocument_CreationExtensions) addChild:] in CXMLDocument_CreationExtensions.o
-[CXMLElement(CXMLElement_CreationExtensions) addChild:] in …Run Code Online (Sandbox Code Playgroud) 我在 Ubuntu 上使用 python 3.8.2 设置了 TensorFlow 2.2 conda 环境。
我跑了pip install tensorflow-io==0.14.0。
当我尝试
import tensorflow-io as tfio
Run Code Online (Sandbox Code Playgroud)
我收到错误:
File "/home/somedir/miniconda3/envs/env_name/lib/python3.8/site-packages/tensorflow_io/core/python/ops/__init__.py", line 65, in _load_library
raise NotImplementedError(
NotImplementedError: unable to open file: libtensorflow_io.so, from paths: ['/home/somedir/miniconda3/envs/env_name/lib/python3.8/site-packages/tensorflow_io/core/python/ops/libtensorflow_io.so']
caused by: ['/home/somedir/miniconda3/envs/env_name/lib/python3.8/site-packages/tensorflow_io/core/python/ops/libtensorflow_io.so undefined symbol:
_ZN10tensorflow0pKernel11TraceStringEPNS_150pKernelContextEb']
Run Code Online (Sandbox Code Playgroud)
有什么问题以及如何解决它?
我一直试图让我的项目运行,但我遇到了麻烦.经过大量调试后,我已经缩小了问题但不知道如何继续.
一些背景,我在C++代码中使用python脚本.这在Python上有所记录,我设法让它在我的基本可执行文件中运行得很好.#include和-lpython2.6,一切都很棒.
但是,从共享库(.so)运行此python脚本时出现了困难.该共享库由模拟系统(OpenRAVE)"加载"为"模块".系统使用名为SendCommand的"模块"的虚拟方法与此模块交互.然后该模块启动boost :: thread,为python提供自己的线程,并返回到模拟系统.但是,当python开始导入其模块并因此加载其动态库时,它会失败,我假设由于以下错误:
ImportError: /usr/lib/python2.6/dist-packages/numpy/core/multiarray.so: undefined symbol: _Py_ZeroStruct
我在我的可执行文件和共享库上运行了ldd,没有一些区别.我还在上面的文件上运行了nm -D,_Py_ZeroStruct确实是未定义的.如果你们想要打印命令,我很乐意提供它们.非常感谢任何建议,谢谢.
这是完整的python错误:
Traceback (most recent call last):
File "/usr/lib/python2.6/dist-packages/numpy/__init__.py", line 130, in
import add_newdocs
File "/usr/lib/python2.6/dist-packages/numpy/add_newdocs.py", line 9, in
from lib import add_newdoc
File "/usr/lib/python2.6/dist-packages/numpy/lib/__init__.py", line 4, in
from type_check import *
File "/usr/lib/python2.6/dist-packages/numpy/lib/type_check.py", line 8, in
import numpy.core.numeric as _nx
File "/usr/lib/python2.6/dist-packages/numpy/core/__init__.py", line 5, in
import multiarray
ImportError: /usr/lib/python2.6/dist-packages/numpy/core/multiarray.so: undefined symbol: _Py_ZeroStruct
Traceback (most recent call last):
File "/home/constantin/workspace/OpenRAVE/src/grasp_behavior_2.py", line 3, in
from openravepy import *
File "/home/constantin/workspace/rospackages/openrave/lib/python2.6/site-packages/openravepy/__init__.py", … 我正在尝试将iOS版Google转化跟踪功能添加到我的iPhone应用中.该应用程序的基础SDK是iOS6应用程序的有效架构是armv7,armv7s应用程序的iOS部署目标是4.3我使用的是最新的xcode 4.5.2和OSX 10.8.2
该应用程序位于appstore中,适用于iPhone 3-4-5
当我尝试按以下链接添加适用于iOS的Google转化跟踪时:https://developers.google.com/mobile-ads-sdk/docs/admob/conversion-tracking
我有这个错误:
Undefined symbols for architecture armv7:
"_OBJC_CLASS_$_ASIdentifierManager", referenced from:
objc-class-ref in libGoogleConversionTracking.a(PingUtil.o)
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Run Code Online (Sandbox Code Playgroud) 假设您使用包含多个工具和库的代码库,并且您希望在这样的代码库中移植(或复活)某些组件,但是关于符号位于各种库中的任何线索要么丢失要么要花费很长时间才能查找代码本身(是改进的文档可以避免这样的问题,但要求很高).发现在哪个库中可以找到代码中使用的符号的最快方法是什么?
undefined-symbol ×10
ios ×6
c++ ×2
python ×2
armv7 ×1
cocoa-touch ×1
conda ×1
definition ×1
gdata ×1
instruments ×1
ios6 ×1
libraries ×1
libxml2 ×1
linker ×1
mach-o ×1
objective-c ×1
openrave ×1
pip ×1
symbolicate ×1
tensorflow ×1
touchxml ×1
xcode4 ×1
zxing ×1