1
8
通常,您需要强制C++编译器为导出函数使用C链接构建库。
通常,链接器会对函数进行C++名称的修改,从而使C链接器无法找到它们。
更新
|
2
4
如果C++库不提供C接口,那么你就不能。
如果您是作者,请使用
|
3
3
就个人而言,我将编写一个C++文件,导出使用C链接的函数。换句话说,写一个绑定。 |
4
2
在Linux上,您可以使用命令获取C++函数的损坏名称
编辑 :然后必须使用g++或gcc-lstdc链接++ |
5
2
从需求的角度来看,这是一个问题。使用 extern C 在C++中,你想从C.调用 Mangling and de-mangling 由于C++过于依赖于平台,所以在C++中从来没有标准化。结果是,尽管您可以通过查看链接器输出来计算C++方法的名称,但是没有可找到的方法来找到C++函数方法的“实际”可链接名称。 |
6
1
你甚至可以使用C++类。您主动声明它们为struct。如果执行此操作,某些编译器将发出警告,但您可能可以禁用此警告或忽略它。
请注意,如果类位于命名空间中,则无法执行此操作,因此请创建仅包含该成员的自己的结构并使用该“包装器”。
|
7
0
典型的包装如下:
----类包装----
----类包装.cpp----
|
Void · 在集群上链接到GNU科学图书馆? 7 年前 |
serhatg · g++同时链接静态和非静态库 10 年前 |
Syf Illis · 针对共享库创建链接静态库 10 年前 |
James C · 如何构建程序,以便在EXE(代码块)位置不需要DLL 10 年前 |
Leo · 将RVCT库与GCC链接 12 年前 |