首页 / 浏览问题 / 移动GIS / 问题详情
超图的库没有链接上。
7EXP 2016年12月08日

使用产品:8c

操作系统:macOS Sierra 10.12.1

问题描述:我按照文档上的“基于 SuperMap.framework 的移动 GIS 应用程序开发 ”进行项目的配置,但是发现报了以下错误:

 "_OBJC_CLASS_$_Workspace", referenced from:

      objc-class-ref in ViewController.o

  "_OBJC_CLASS_$_WorkspaceConnectionInfo", referenced from:

      objc-class-ref in ViewController.o

ld: symbol(s) not found for architecture x86_64

clang: error: linker command failed with exit code 1 (use -v to see invocation)

之前在论坛上有人回答我说是超图的库没连接上,那么该怎么解决呢?希望能得到大家的帮助!谢谢。

1个回答

你好,把你的工程发下给我呢,给个百度云盘的地址,你上次发那个地址打不开
1,742EXP 2016年12月08日
百度云盘地址打的开吗?
可以打开,请问下你是使用真机还是模拟器编译?用的code什么版本呢?编译ios几的版本?

1、尝试去除Search Paths中的路径,重新拖拽SuperMap.framework至工程中

2、设置Apple LLVM

我用的是模拟器,xcode8 iOS10的系统

要把SuperMap.framework导入到工程?文件好大啊 

我按照你给我的建议删除了search Paths路径,设置了Apple LLVM以及重新导入superMap.frameWork,虽然刚才的问题没有了,但是又来了新的问题

但是不设置Search Paths或者不导入SuperMap.frameWork的话SuperMap.h是无法找到的
添加libstdc++.6.0.9.tdb的库

还是找不到,

你用的xcode8版本吗?你看下Search Paths里面是不是空的,如果是空的再手动加一下超图的路径

Xcode8有时候拖拽有问题

还是不行,只要添加了search Paths路径,就会报:

Undefined symbols for architecture x86_64:

  "_OBJC_CLASS_$_Workspace", referenced from:

      objc-class-ref in ViewController.o

  "_OBJC_CLASS_$_WorkspaceConnectionInfo", referenced from:

      objc-class-ref in ViewController.o

ld: symbol(s) not found for architecture x86_64

clang: error: linker command failed with exit code 1 (use -v to see invocation)

用的xcode什么版本?
最新版8.1
目前还不支持xcode8,iMobile8.1.0发布的时候xcode8还没有发布,我们下个版本会支持,预计月底会发布版本
好的,谢谢!

你好,我昨天分别用xcode7.3和xcode7.1版本试了“基于 SuperMap.framework 的移动 GIS 应用程序开发 ”,也是按照文档上的进行配置,但是还是出现了和之前一样的问题,也按照你原先给的建议试了一下,还是出现同样的问题,我们项目估计要用你们的产品,所以请你帮我解决一下这个问题,谢谢!

你们的产品可以用模拟器运行吗?
我等下配置一个可用的工程给你看下,模拟器在8.1版本有些问题,目前建议使用真机调试
好的,。。。
你用我这个工程运行看下,下载地址:http://pan.baidu.com/s/1pLnlCTl
我这边使用的是Xcode7.1.1
恩恩。你那边编译没什么问题吗?
是不是不支持模拟器啊
真机调试没有问题,模拟器iMobile 8.1编译的包有问题,暂时用不了,预计这月底会出新的包
那模拟器7.1的呢,你那边行吗?我今天试了,用模拟器7.1也是不行的,你能不能配置一个模拟器的demo让我看看,麻烦你了,谢谢!
我说了SuperMap iMobile for iOS 8.1.0版本用模拟器有问题,这个版本目前只能用真机,如果现在急用模拟器,你可以降下版本,用8.0.2,下载地址:http://support.supermap.com.cn/DownloadCenter/DownloadPage.aspx?id=534
好的。。。。

你好,这次我换了真机,还是按照文档上来配置的,但是又报了一个错误:

麻烦你看一下!

viewController.m里是添加的文档上的示例代码,如若不添加代码编译是没问题的,但是加了之后就会报错。就用到了这4个类:Workspace,WorkspaceConnectionInfo,Map,MapControl
你这个截图看不清楚啊,你运行我给你的程序看下呢

也是一样的问题,

你那能远程吗?给个方式我给你远程看下呢
你这个应该还是用xcode 8编译的吧,xcode8编译不了

sorry,没有问题,估计是我改了哪些配置,但是直接运行你的工程的话直接崩到main()里面了,控制台输出:

License Error:Can not find license file

2016-12-13 16:33:48.616 maptest[401:24812] *** Terminating app due to uncaught exception 'Layers', reason: 'dataset is nil'

*** First throw call stack:

(0x2b2a00d7 0x39a78c77 0x18acf5 0x3be49 0x2e90155d 0x2e9012cd 0x2e9073f7 0x2e904d6f 0x2e96fe91 0x2eb63347 0x2eb6590f 0x2eb705e9 0x2eb640c7 0x31d2bec1 0x2b266035 0x2b2652f9 0x2b263e53 0x2b1af6d1 0x2b1af4e3 0x2e966867 0x2e961445 0x3c269 0x3a046aaf)

libc++abi.dylib: terminating with uncaught exception of type NSException

这个是没有许可,你去官网申请一个许可,放到沙箱中
i am sorry,给你添麻烦了,搞定了,谢谢。
不客气,如果问题已解决,请采纳一下答案,后续有问题欢迎提问。
为什么你们官网没有更详细的文档呢?比如一些功能的API啊
文档可以参考帮助文档,另外技术资源中心上有部分范例代码:http://support.supermap.com.cn/
...