草庐IT

MACOSX_RPATH

全部标签

linux - 构建一个使用 ld 的选项 -rpath 和 $ORIGIN 的简单(hello-world-esque)示例

注意:下面是完整的工作示例。原始问题如下:我在将ld的-rpath参数与$ORIGIN一起使用时遇到问题。由于找不到完整的例子,我想我会尝试自己写一个,以便我和其他人以后可以使用它。一旦我开始工作,我会整理它。我askedaboutthisbefore,但我认为我的帖子有点令人困惑。示例项目构建了一个共享库和一个链接到所述库的可执行文件。它非常小(3个文件,22行,包括构建脚本)。您可以从here下载该项目。文件结构(构建前):项目/源/foo.cppmain.cppmake.shproject/src/foo.cppintfoo(){return3;}project/src/main

linux - 构建一个使用 ld 的选项 -rpath 和 $ORIGIN 的简单(hello-world-esque)示例

注意:下面是完整的工作示例。原始问题如下:我在将ld的-rpath参数与$ORIGIN一起使用时遇到问题。由于找不到完整的例子,我想我会尝试自己写一个,以便我和其他人以后可以使用它。一旦我开始工作,我会整理它。我askedaboutthisbefore,但我认为我的帖子有点令人困惑。示例项目构建了一个共享库和一个链接到所述库的可执行文件。它非常小(3个文件,22行,包括构建脚本)。您可以从here下载该项目。文件结构(构建前):项目/源/foo.cppmain.cppmake.shproject/src/foo.cppintfoo(){return3;}project/src/main

c - 使用 RPATH 但不使用 RUNPATH?

Thispage说到ld.so中库搜索的顺序:UnlessloadingobjecthasRUNPATH:RPATHoftheloadingobject,thentheRPATHofitsloader(unlessithasaRUNPATH),...,untiltheendofthechain,whichiseithertheexecutableoranobjectloadedbydlopenUnlessexecutablehasRUNPATH:RPATHoftheexecutableLD_LIBRARY_PATHRUNPATHoftheloadingobjectld.so.cache

c - 使用 RPATH 但不使用 RUNPATH?

Thispage说到ld.so中库搜索的顺序:UnlessloadingobjecthasRUNPATH:RPATHoftheloadingobject,thentheRPATHofitsloader(unlessithasaRUNPATH),...,untiltheendofthechain,whichiseithertheexecutableoranobjectloadedbydlopenUnlessexecutablehasRUNPATH:RPATHoftheexecutableLD_LIBRARY_PATHRUNPATHoftheloadingobjectld.so.cache

linux - ld : Using -rpath, $ORIGIN 在共享库中(递归)

我刚刚做了一个使用ld的-rpath的基本示例带有$ORIGIN的选项here(有关工作版本,请参阅第二个响应)。我正在尝试创建一个示例,其中main.run链接到foo.so,它又链接到bar.so,全部使用rpath和$ORIGIN.运行时文件结构是:project/lib/dir/sub/bar.sofoo.sorun/main.run(failingtobuild)我正在构建foo.so使用:g++-c-oobj/foo.osrc/foo.cpp-fPICg++-shared-olib/dir/foo.soobj/foo.o-Wl,-soname,foo.so-Wl,-rpat

linux - ld : Using -rpath, $ORIGIN 在共享库中(递归)

我刚刚做了一个使用ld的-rpath的基本示例带有$ORIGIN的选项here(有关工作版本,请参阅第二个响应)。我正在尝试创建一个示例,其中main.run链接到foo.so,它又链接到bar.so,全部使用rpath和$ORIGIN.运行时文件结构是:project/lib/dir/sub/bar.sofoo.sorun/main.run(failingtobuild)我正在构建foo.so使用:g++-c-oobj/foo.osrc/foo.cpp-fPICg++-shared-olib/dir/foo.soobj/foo.o-Wl,-soname,foo.so-Wl,-rpat

c++ - MacOSX : How to collect dependencies into a local bundle?

我正在创建一个依赖于其他几个库的插件应用程序(dylib)。这些其他库安装在我的系统上,但不保证安装在任何用户的系统上。所以我需要找到一种方法将依赖项与我的应用程序捆绑在一起。我发现我可以使用otool列出或更改其他dylib的路径。这将允许创建一个文件夹来捆绑我的插件应用程序和所有需要的依赖项。但是,手动执行此操作似乎是一项耗时且愚蠢的任务。是否有可用于自动化的实用程序?或者也许我做错了,有更好更明显的方法来解决这个问题?编辑我创建了一个script自动完成大部分任务。 最佳答案 使用install_name_tool在你的dyl

c++ - MacOSX : How to collect dependencies into a local bundle?

我正在创建一个依赖于其他几个库的插件应用程序(dylib)。这些其他库安装在我的系统上,但不保证安装在任何用户的系统上。所以我需要找到一种方法将依赖项与我的应用程序捆绑在一起。我发现我可以使用otool列出或更改其他dylib的路径。这将允许创建一个文件夹来捆绑我的插件应用程序和所有需要的依赖项。但是,手动执行此操作似乎是一项耗时且愚蠢的任务。是否有可用于自动化的实用程序?或者也许我做错了,有更好更明显的方法来解决这个问题?编辑我创建了一个script自动完成大部分任务。 最佳答案 使用install_name_tool在你的dyl

android - 寻找在Win/Linux/MacOSX/Android/IOS上进行跨平台开发的OpenGL ES框架

Closed.ThisquestiondoesnotmeetStackOverflowguidelines。它当前不接受答案。想要改善这个问题吗?更新问题,以便将其作为on-topic用于堆栈溢出。7年前关闭。Improvethisquestion我必须开发一个跨平台的多媒体应用程序,该应用程序可以在Windows,Linux,MacOSX,Android和IOS上运行。该应用程序必须能够播放音频/视频内容,显示照片和图形,并可能显示简单的2D动画。经过大量搜索后,似乎该问题的“最可移植的方法”是使用C++作为语言,并使用OpenGLES作为绘图API,因为几乎任何一对设备/OS都支持

android - 寻找在Win/Linux/MacOSX/Android/IOS上进行跨平台开发的OpenGL ES框架

Closed.ThisquestiondoesnotmeetStackOverflowguidelines。它当前不接受答案。想要改善这个问题吗?更新问题,以便将其作为on-topic用于堆栈溢出。7年前关闭。Improvethisquestion我必须开发一个跨平台的多媒体应用程序,该应用程序可以在Windows,Linux,MacOSX,Android和IOS上运行。该应用程序必须能够播放音频/视频内容,显示照片和图形,并可能显示简单的2D动画。经过大量搜索后,似乎该问题的“最可移植的方法”是使用C++作为语言,并使用OpenGLES作为绘图API,因为几乎任何一对设备/OS都支持