小编Web*_*ive的帖子

在Cocoa App中std :: terminate undefined

我有一个Cocoa应用程序编译和链接很好.我已经将一些代码分解成静态库然后又回去并试图将libMyLib.a库链接到我的原始程序.

我现在得到一个链接器错误

Undefined symbols for architecture x86_64:
  "std::terminate()", referenced from:
Run Code Online (Sandbox Code Playgroud)

引用用于在我的主项目中生存的源模块之一,但现在存在于库中.

我试图回过头来匹配每个编译器和链接器设置,以查看哪一个是不同的,但我似乎无法确定它.我的预感是我正在使用C STD进行链接并需要一个C++ STD,但是所有内容都使用带有标准库的C99编译器.

有任何想法吗?

谢谢!

xcode cocoa

25
推荐指数
1
解决办法
5930
查看次数

本地 html 或文件 URL 的 ShellExecute 失败

我们公司正在将我们的帮助系统迁移到 Flare 下的 HTML5 格式。我们还在 URI 命令行上使用 Flare CSHID 为帮助系统添加了基于主题的访问,以直接访问主题,例如index.html#CSHID=GettingStarted启动GettingStarted.html帮助页面。

我们的应用程序是用 C++ 编写的,并利用 Win32ShellExecute()函数生成与 HTTP 关联的默认应用程序以显示帮助系统。我们注意到,ShellExecute()当没有指定标签时,它可以正常工作,例如

ShellExecute(NULL, _T("open"), _T("c:\\Help\\index.html"), NULL, NULL, SW_SHOWNORMAL);
Run Code Online (Sandbox Code Playgroud)

此函数将启动与查看 HTML 页面相关联的默认浏览器,在这种情况下,File:///协议处理程序将启动,浏览器将启动,您将file:///c:/Help/index.html在地址栏中看到。

但是,一旦添加了#该主题的信息,就ShellExecute()无法打开页面

ShellExecute(NULL,_T("open"),_T("c:\\Help\\index.html#cshid=GettingStarted"),NULL,NULL,SW_SHOWNORMAL);
Run Code Online (Sandbox Code Playgroud)

如果浏览器完全打开,您将被定向到file:///c:/Help/index.htm没有#cshid=GettingStarted主题标识的l 。

请注意,这只是一个问题,如果 File 协议处理程序通过 参与ShellExecute(),如果帮助系统存在于网络上,并且 Http 或 Https 协议处理程序参与,一切正常。

对于我们的客户,其中一些在专用 LAN 上,我们不能总是依赖 Internet 访问,因此我们的帮助系统必须随应用程序一起提供。

http shellexecute flare hashtag

5
推荐指数
1
解决办法
2692
查看次数

标签 统计

cocoa ×1

flare ×1

hashtag ×1

http ×1

shellexecute ×1

xcode ×1