Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
macosx动态库&x27;以及如何使用它们_Macos_Dylib - Fatal编程技术网

macosx动态库&x27;以及如何使用它们

macosx动态库&x27;以及如何使用它们,macos,dylib,Macos,Dylib,我在MacOSX(Lion)上下载并安装了(我想)gtk。在得到所有-I的正确答案后,测试程序的编译进行得很顺利。现在链接失败了。缺少入口点的grep _gtk_init _gtk_window_new ... 11 more 发现他们在 /用户/ccpalmer/gtk/inst/lib/libgtk-quartz-2.0.0.dylib /用户/ccpalmer/gtk/inst/lib/libgtk-quartz-2.0.dylib 由于不太熟悉OSX的底层Unix,我不知道如何完成链接

我在MacOSX(Lion)上下载并安装了(我想)gtk。在得到所有-I的正确答案后,测试程序的编译进行得很顺利。现在链接失败了。缺少入口点的grep

_gtk_init
_gtk_window_new
... 11 more
发现他们在 /用户/ccpalmer/gtk/inst/lib/libgtk-quartz-2.0.0.dylib /用户/ccpalmer/gtk/inst/lib/libgtk-quartz-2.0.dylib

由于不太熟悉OSX的底层Unix,我不知道如何完成链接步骤。我必须承认,我以前从来没有遇到过“动态库”

有没有OSX开发人员可以帮我解开谜团


Charles

正如moshbear在上面评论的那样,
dylib
文件是共享库在Mac OS X上的打包方式。要使用这样一个共享库,您需要将两个开关传递给编译器,
-L
-L
。第一个将包含
dylib
的目录添加到链接器的库搜索路径,第二个指定要链接的库。类似这样,对于生活在
/usr/mylibs
中的虚构的
libfoo.dylib

clang code.c -L/usr/mylibs -lfoo

dylib
是一个Mach-O共享对象文件,类似于ELF系统上的
so
和PE(EXE)系统上的
dll
。您能否编辑您的帖子以包含您尝试过但不起作用的命令行?副本上的代码签名将非常重要。看一看。