我一直在使用Skype:用户名?呼叫URL方案将Skype应用程序直接启动到呼叫中,并且即将实施Skype:用户名?聊天URL方案以将其直接启动到聊天中...虽然聊天方案是在iPhone上根本不工作,其他测试似乎表明,呼叫方案是目前唯一一个实际上可以在我见过的其他文档中工作的方案.几个星期前我进行了一次测试,可能已经发誓聊天计划正在运行,然后我升级到新的应用程序版本,它已经消失了.
我只是看到的东西,它从来没有?或者它是否真的在最新版本中消失了?我把这个发布到了Skype论坛,这个论坛现在已经有一个多星期没有收到一个回复,几乎没有收到任何意见.
谢谢.
我已经看到了C库链接到C++的人或者链接到C的C++库的许多问题和答案...但是我有一个链接到C++的C++库,并且与人们将C和C++混合在一起时会遇到相同的症状(链接期间未定义的引用).
这是我的g ++系列:
g++ -L C:/MyLibraries mycode.cpp -shared -o mycode.dll -lopengl32 -lglu32 -lgdi32 -lMyLibrary
Run Code Online (Sandbox Code Playgroud)
到目前为止,我遇到的每个答案都谈到了以下包装我的标题:
#ifdef __cplusplus
extern "C" {
#endif
...
#ifdef __cplusplus
}
#endif
Run Code Online (Sandbox Code Playgroud)
但是,我的库是纯C++,100%类,没有全局函数,没有外部"C"可以写入(不能在类中的方法上使用"C",并且用extern包装整个类集合) C"什么都不做......链接时仍然是未定义的引用".
MyLibrary.lib是在Visual Studio 2010中编写的.而且,我使用Visual Studio 2005和2008编写了许多库.没有一个人需要将extern"C"添加到其中任何一个以静态链接到其他基于Visual Studio的项目.C++库链接到其他C++项目,没有任何问题.
这是Visual Studio负责的东西吗?g ++没有?我可以将大量自己的C++自定义静态库静态链接到其他C++项目中,它只是起作用.Visual Studio是否足够聪明,可以破译它自己的C++方法名称,所以直到现在我还没有遇到过这种情况?但是g ++不知道该怎么做,强制要求C命名约定(即使我的所有目标都是100%C++)?
或者问题是即使我使用g ++,它仍然执行一些标准的C规则?我的g ++命令行出了什么问题?
即使在MSDN上寻找输出dll函数的答案,也会让我看起来更像是我的g ++系列出了问题,因为他们的链接有诸如"将C函数导出到C++可执行文件"和"将C++函数导出到C"等主题可执行文件",没有链接"将C++函数导出到C++可执行文件中"在任何地方提到...我在我的函数上尝试了__declspec(dllexport),这些函数已编译,但仍然未定义与g ++的链接.有任何想法吗?
谢谢.