Tag: dylib

从dlsym()返回值的函数?

愚蠢的问题,我肯定是一些不正确的语法。 如何让dlsym使用返回值的函数? 我在以下代码中得到错误’void *无效转换为LSError(*)()’ – 尝试编译linux lightscribe示例程序,希望我可以将它与OSX dylib链接(为什么地狱赢了惠普发布了一个真正的Cocoa SDK吗?LS只出现了什么?现在6到7年了?): void* LSHandle = dlopen(“liblightscribe.1.dylib”, RTLD_LOCAL|RTLD_LAZY); if (LSHandle) { LSError (*LS_DiscPrinter_ReleaseExclusiveUse)() = dlsym(LSHandle, “LS_DiscPrinter_ReleaseExclusiveUse”); .. lsError = LS_DiscPrinter_ReleaseExclusiveUse( pDiscPrinter);

制作一个64位共享库,动态链接到Mac OS X Snow Leopard上的32位库

更新:经过一些阅读后,我发现这个问题非常普遍,你不能在同一个过程中混合架构,所以64位Java不能dlopen()像FMOD这样的32位库。 有没有可能的解决方法,请记住我正在编写自己的COD接口到FMOD库? 我需要在Max OS X上创建64位dylib,因为Java Native Access只喜欢64位计算机上的64位库。 问题是,我的C源代码动态地包含FMOD,在Mac上只提供32位dylib。 当我尝试编译时没有-m32选项(因为我必须输出64位dylib)我得到以下错误: gcc -dynamiclib -std=c99 -pedantic -Wall -O3 -fPIC -pthread -o ../bin/libpenntotalrecall_fmod.dylib ../../src/libpenntotalrecall_fmod.c -lfmodex -L../../lib/osx/ ld: warning: in /usr/lib/libfmodex.dylib, missing required architecture x86_64 in file Undefined symbols: “_FMOD_System_CreateSound”, referenced from: _startPlayback in ccJnlwrd.o “_FMOD_Channel_GetPosition”, referenced from: _streamPosition in ccJnlwrd.o “_FMOD_System_Create”, referenced from: _startPlayback in ccJnlwrd.o “_FMOD_System_PlaySound”, referenced from: […]

如何在框架中使用Swift文件中的C dylib

我正在寻找开始在框架中使用Swift,它使用libz.dylib ,但看起来没有办法从Swift中导入它。 我尝试import zlib并import libz ,但这不起作用。 ZLib已经与目标相关联。 似乎让我的Swift代码看到zlib类的唯一方法是在桥接头中导入必要的头文件,但是框架目标不能有桥接头,那么有没有办法使用dylib?

编译简单的hello world ZeroMQ C例子,编译标志?

尝试从zeromq教程编译示例hello_world.c:http://zguide.zeromq.org/page:all #Ask-and-Ye-Shall-Receive很确定我已经在OSX Mountain Lion中安装了所有内容。 clang -Wall hwserver.c -o hwserver 给我一个错误: Undefined symbols for architecture x86_64: “_zmq_bind”, referenced from: _main in hwserver-OgrEe6.o “_zmq_ctx_new”, referenced from: _main in hwserver-OgrEe6.o “_zmq_msg_close”, referenced from: _main in hwserver-OgrEe6.o “_zmq_msg_data”, referenced from: _main in hwserver-OgrEe6.o “_zmq_msg_init”, referenced from: _main in hwserver-OgrEe6.o “_zmq_msg_init_size”, referenced from: _main in hwserver-OgrEe6.o “_zmq_msg_recv”, referenced from: _main […]

Swift:如何调用从dylib加载的C函数

有没有办法调用从Swift的dylib加载的C函数? 这是我的dylib文件: cppdemofile.cpp #include “cppdemofile.h” int add(int a, int b) { return a + b; } cppdemofile.h #ifndef __CppDemoLibrary__cppdemofile__ #define __CppDemoLibrary__cppdemofile__ #pragma GCC visibility push(default) extern “C” int add(int a, int b); #pragma GCC visibility pop #endif 编译成dylib并检查: nm -gU libCppDemoLibrary.dylib 0000000000000f80 T _add …将libCppDemoLibrary.dylib复制到~/lib … Swift程序 : @IBAction func buttonClick(sender: NSButton) { let handle […]